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)