猿问

需要配对数组中对象的值

我有一个对象数组:

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}];


杨魅力
浏览 155回答 3
3回答

慕哥6287543

您可以尝试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);

PIPIONE

您可以使用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)

小怪兽爱吃肉

使用 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)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答