ich die folgende Array von Objekten haben:Eigenschaft hinzufügen zu allen Objekten in Array
var array = [ {'a': '12', 'b':'10'}, {'a': '20', 'b':'22'} ];
Wie kann ich eine neue Eigenschaft c = b - a
auf alle Objekte des Arrays hinzufügen?
ich die folgende Array von Objekten haben:Eigenschaft hinzufügen zu allen Objekten in Array
var array = [ {'a': '12', 'b':'10'}, {'a': '20', 'b':'22'} ];
Wie kann ich eine neue Eigenschaft c = b - a
auf alle Objekte des Arrays hinzufügen?
Verwenden forEach
Funktion:
var array = [{ 'a': '12', 'b': '10' }, { 'a': '20', 'b': '22' }];
array.forEach(function(e) { e.c = +e.b - +e.a });
document.write(JSON.stringify(array));
können Sie verwenden array.map,
und Sie sollten Number() verwenden Requisiten, um Zahlen zu konvertieren für das Hinzufügen von:
var array = [ {'a': '12', 'b':'10'}, {'a': '20', 'b':'22'} ];
var r = array.map(x => {
x.c = Number(x.b) - Number(x.a);
return x
})
console.log(r)
sollten Sie nicht versuchen ES5 Weg – Mritunjay
Sind Lambda-Ausdrücke "=>" in ES5 verfügbar? –
@Miguel nein, es ist ES6, ich habe jetzt mit ES5 bearbeitet – isvforall