为了账号安全,请及时绑定邮箱和手机立即绑定

需要配对数组中对象的值

需要配对数组中对象的值

杨魅力 2021-08-20 17:07:15
我有一个对象数组:boxes= [{"itemsId":19,"quantity":0},{"itemsId":1053,"quantity":1},{"itemsId":1056,"quantity":1}];如何配对数组中对象的值?这是我希望盒子的样子:boxes= [{"itemsId":quantity},{"itemsId":quantity},{"itemsId":quantity}];即。boxes= [{"19":0},{"1053":1},{"1056":1}];
查看完整描述

3 回答

?
慕哥6287543

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);


查看完整回答
反对 回复 2021-08-20
?
PIPIONE

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)


查看完整回答
反对 回复 2021-08-20
?
小怪兽爱吃肉

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)


查看完整回答
反对 回复 2021-08-20
  • 3 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信