如何用另一个数组的元素替换数组中的特定关键元素

时间:2020-06-10 15:47:46

标签: javascript ecmascript-6 ecmascript-5

我有一个可变长度的数组对象,我想用另一个长度可变的数组对象替换整个数组的特定关键元素。我尝试了不同的数组方法,但是我被这一方法所困扰。我有6个月的编程经验。

我的代码是:

a = [
 { id: 1, name: "Alex", qty: 6, prodCode: 1321 }, 
 { id: 2, name: "carry", qty: 2, prodCode: 1641 }, 
 { id: 1, name: "manuel", qty: 7, prodCode: 1754 },
.....]

b= [{qty:5},{qty:9},{qty:2},...]
a.length===b.length

结果应类似于:

[
  { id: 1, name: "Alex", qty: 5, prodCode: 1321 }, 
  { id: 2, name: "carry", qty: 9, prodCode: 1641 }, 
  { id: 1, name: "manuel", qty: 2, prodCode: 1754 },
.....]

2 个答案:

答案 0 :(得分:3)

如果我理解得很好,您可以尝试以下方法:

a.forEach((itemA, index) => {
    itemA.qty = b[index].qty
});

希望对您有帮助。

答案 1 :(得分:0)

为简单起见,这是需要做的

for( let index = 0; index < objectArray.length; index++ ){

   objectArray[index].qty = qtys[index].qty;

}

您可以使用浏览器的js控制台来了解每个值在JSON对象中的位置以及如何从中获取值。

例如,在初始化objectArray之后在控制台中运行它

objectArray[0].qty // This will give qty of the first object in the array

您可以使用它来导航复杂的对象