gpt4 book ai didi

javascript - 在 JavaScript 中使用单个数组更新数组对象

转载 作者:行者123 更新时间:2023-11-30 09:33:06 25 4
gpt4 key购买 nike

我很难从单独的数组更新对象值。

示例:

mainArray = [
{ "name": "bob", "complete": "25" },
{ "name": "john", "complete": "50" },
{ "name": "mike", "complete": "75" },
];

colorArray = ["#ff0000", "#00ff00", "#0000ff"];

我需要创建一个组合这些值的新数组。

for (i = 0, ilen = mainArray.length; ilen > i; i++) {
newArray.push({
name: mainArray[i].name,
complete: mainArray[i].complete,
color: '',
});
}

无论我做什么,我要么只返回#0000ff,要么根本无法工作。失败的尝试:

for (j = 0, jlen = newArray.length; jlen > j; j++) {
for (k = 0, km = colorArray.length; km > k; k++) {
newArray[j].color = colorArray[k];
}
}

目标是回来:

newArray = [
{ "name": "bob", "complete": "25", "color": "#ff0000" },
{ "name": "john", "complete": "50", "color": "#00ff00" },
{ "name": "mike", "complete": "75", "color": "#0000ff" }
];

正确的做法是什么?

最佳答案

只需根据colorArray的索引设置每个人的color键。

var mainArray = [
{ "name": "bob", "complete": "25" },
{ "name": "john", "complete": "50" },
{ "name": "mike", "complete": "75" },
];
var colorArray = ["#ff0000", "#00ff00", "#0000ff"];
var newArray = [];

for (var i = 0; i < mainArray.length; i++) {
newArray.push({
name: mainArray[i].name,
complete: mainArray[i].complete,
color: colorArray[i]
});
}

关于javascript - 在 JavaScript 中使用单个数组更新数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45155691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com