2016-04-17 10 views

Antwort

10

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));

+0

sollten Sie nicht versuchen ES5 Weg – Mritunjay

+0

Sind Lambda-Ausdrücke "=>" in ES5 verfügbar? –

+0

@Miguel nein, es ist ES6, ich habe jetzt mit ES5 bearbeitet – isvforall

11

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)

+1

verstehe das DV auch nicht - sowohl 'map' als auch' Nummer' werden für sowas wie 'forEach' und' +' bevorzugt. – georg

+0

OP will 'c = b - a' – isvforall

+1

@isvforall ok, danke für den Schnitt; – maioman

Verwandte Themen