我有一个对象数组
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 }
] ;
我喜欢计算(金额* 5)然后将结果推回到Object数组 有没有办法做到这一点?
我想要的结果
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}
] ;
答案 0 :(得分:1)
您可以使用.map
方法。 (注意它需要旧浏览器的垫片)
var result = dataArray.map(function(e) { e.calv = e.amount * 5; return e;});
答案 1 :(得分:1)
for (var i = 0, l = dataArray.length; i < l; i++) {
dataArray[i].calv = dataArray[i].amount * 5;
}
答案 2 :(得分:1)
如果没有人打我回答这个问题,我会试试:p。
for(var i = 0;i < dataArray.length;++i){
dataArray[i]['calv'] = dataArray[i]['amount'] * 5;
}
答案 3 :(得分:1)
使用下划线或lodash帮助
_.each(dataArray, function(v, k) {
v['calv'] = v['amount']*5;
});
然后你会得到你的结果。 或者你可以像这样使用它
for(var i in dataArray) {
dataArray[i]['calv'] = dataArray[i]['amount'] * 5;
}