3 回答
TA贡献1831条经验 获得超10个赞
您可以尝试Array.prototype.map():
该map()方法使用对调用数组中的每个元素调用提供的函数的结果创建一个新数组。
在每次迭代中,将itemsId的值设置为键,将数量的值设置为该键的值。
var boxes= [{"itemsId":19,"quantity":0},{"itemsId":1053,"quantity":1},{"itemsId":1056,"quantity":1}];
boxes = boxes.map(i => ({[i.itemsId]:i.quantity}));
console.log(boxes);
TA贡献1829条经验 获得超9个赞
您可以使用map返回一个数组并在回调内部返回一个对象。使用方格表示法创建对象键。由于对象键是唯一的,新值将覆盖对象内的旧值
let boxes = [{
"itemsId": 19,
"quantity": 0
}, {
"itemsId": 1053,
"quantity": 1
}, {
"itemsId": 1056,
"quantity": 1
}];
let newData = boxes.map(function(elem) {
return {
[elem.itemsId]: elem.quantity
}
});
console.log(newData)
TA贡献1852条经验 获得超1个赞
使用 map()
var boxes = [{"itemsId":19,"quantity":0},{"itemsId":1053,"quantity":1},{"itemsId":1056,"quantity":1}];
var result = boxes.map(({itemsId, quantity}) => ({[itemsId]: quantity}))
console.log(result)
添加回答
举报