我想将每个对象的不同数组值插入到对象内部的数组中

I want to insert different array values ​per object into an array inside the object

我想将每个对象不同的数组值插入到对象内部的数组中。

我有一个 arrayDetail 对象。

console.log(arrayDetail)

[
    {
        "content": "Whosebug1",
        "type": "one"
        "appleId": undefined 
    },
    {
        "content": "Whosebug2",
        "type": "two"
        "appleId": undefined 
    }
]

我有一个 applesIds 数组。

console.log(applesIds);

[49,50]

这就是我想要的结果
我尝试了几次使用 map 函数或 Object.fromEntries() 函数并查找了其他堆栈溢出问题,
但我无法让它工作。

[
    {
        "content": "Whosebug1",
        "type": "one"
        "appleId": 49 
    },
    {
        "content": "Whosebug2",
        "type": "two"
        "appleId": 50 
    }
]

这样就可以了

let data = [
    {
        "content": "Whosebug1",
        "type": "one",
        "appleId": undefined 
    },
    {
        "content": "Whosebug2",
        "type": "two",
        "appleId": undefined 
    }
]

let id = [49, 50]

for(let i = 0; i < data.length; i++){
  data[i]['appleId'] = id[i]
}

console.log(data)

您可以使用 Array.map(也可以使用其他数组迭代方法)并像下面这样更新 appleId

const arrayDetail = [{
    "content": "Whosebug1",
    "type": "one",
    "appleId": undefined
  },
  {
    "content": "Whosebug2",
    "type": "two",
    "appleId": undefined
  }
]
const appleIds = [49, 50];

const result = arrayDetail.map((item, index) => {
  return { ...item,
    appleId: appleIds[index]
  }
});

console.log(result);

单行代码映射总是 return 数组所以我是 returning 对象数组并在索引的帮助下放置 appleId。 index 是 0,1,2 次迭代,因此使用 index

访问 id 数组
const mappedData = data.map((item, index) => ({ ...item, appleId: id[index] }));