Javascript 如何从数组对象添加2个键值并在第一个键值中更新?

Javascript 如何从数组对象添加2个键值并在第一个键值中更新?,javascript,arrays,object,javascript-objects,Javascript,Arrays,Object,Javascript Objects,我有一个由两个对象组成的数组: let abc = [ {amount: 1000, rate: 4}, {amount: 100, rate: 2}, {amount: 700, rate: 1} ]; 我想乘以amount*rate并在amount键中更新 预期产出: let output = [ {amount: 4000, rate: 4}, {amount: 200, rate: 2}, {amount: 700, rate: 1} ]; 您可以简单

我有一个由两个对象组成的数组:

let abc = [
  {amount: 1000, rate: 4},
  {amount: 100,  rate: 2},
  {amount: 700,  rate: 1}
];
我想乘以
amount*rate
并在
amount
键中更新

预期产出:

let output = [
  {amount: 4000, rate: 4},
  {amount: 200,  rate: 2},
  {amount: 700,  rate: 1}
];
您可以简单地使用:

let data=[{amount:1000,rate:4},{amount:100,rate:2},{amount:700,rate:1}];
让result=data.map(o=>({…o,amount:o.amount*o.rate}));
控制台日志(结果)

.as控制台包装{max height:100%!重要;top:0;}
使用
Array.prototype.map()

let abc=[{amount:1000,rate:4},{amount:100,rate:2},{},{amount:700,rate:1}]
abc.map(x=>{
如果(!x.amount | | |!x.rate){//说明空对象
返回x;
}
返回{…x,金额:x.amount*x.rate}

});如果不想创建新数组,可以使用forEach

让abc=[
{金额:1000,费率:4},
{金额:100,费率:2},
{金额:700,费率:1}
];
abc.forEach(项目=>item.amount=item.amount*item.rate)
console.log(abc)
输入和输出在语法上无效!!
let abc = [{amount: 1000, rate: 4}, {amount: 100, rate: 2},{amount: 700, rate: 1}]
var output = abc.map(field => {
field.amount = field.amount * field.rate
return field
})
console.log(output)