Reputation: 85
I have a object Array
var dataArray = [
{ 'nation': 'TW', 'sales':'Jack', 'amount': 3000 },
{ 'nation': 'HK', 'sales':'Chen', 'amount': 3200 },
{ 'nation': 'SZ', 'sales':'Tomm', 'amount': 2800 },
{ 'nation': 'SH', 'sales':'Alan', 'amount': 1900 },
{ 'nation': 'JP', 'sales':'Will', 'amount': 1200 }
] ;
I like to do calculation of (amount *5) then push the result back to the Object array Is there a way to do that?
what i want as result
var dataArray = [
{ 'nation': 'TW', 'sales':'Jack', 'amount': 3000 ,'calv':15000},
{ 'nation': 'HK', 'sales':'Chen', 'amount': 3200 ,'calv':16000} ,
{ 'nation': 'SZ', 'sales':'Tomm', 'amount': 2800 ,'calv':14000},
{ 'nation': 'SH', 'sales':'Alan', 'amount': 1900 ,'calv':9400} ,
{ 'nation': 'JP', 'sales':'Will', 'amount': 1200 ,'calv':6000}
] ;
Upvotes: 1
Views: 75
Reputation: 646
use underscore or lodash to help
_.each(dataArray, function(v, k) {
v['calv'] = v['amount']*5;
});
then you will get your result. or you may use it like this
for(var i in dataArray) {
dataArray[i]['calv'] = dataArray[i]['amount'] * 5;
}
Upvotes: 1
Reputation: 160863
You could use .map
method. (Note it needs a shim for old browsers)
var result = dataArray.map(function(e) { e.calv = e.amount * 5; return e;});
Upvotes: 1
Reputation: 416
I'll try if nobody beats me to anwsering this question :p.
for(var i = 0;i < dataArray.length;++i){
dataArray[i]['calv'] = dataArray[i]['amount'] * 5;
}
Upvotes: 1
Reputation: 444
for (var i = 0, l = dataArray.length; i < l; i++) {
dataArray[i].calv = dataArray[i].amount * 5;
}
Upvotes: 1