gpt4 book ai didi

javascript - 如何使用 javascript 在此示例中嵌套 for 循环

转载 作者:行者123 更新时间:2023-11-30 14:00:12 25 4
gpt4 key购买 nike

var data = [
{
"something": "something",
"stages": [{
"node": {"name": "test0"},
"status": {"name": "test"},
"time": {"name": "test"}
},{
"node": {"name": "test1"},
"status": {"name": "test"},
"time": {"name": "test"}
}]
}
];

nodeList = []

data.forEach(obj =>
obj.stages.forEach(stage => if (nodeList.indexOf(stage.node.name) > -1) {
nodeList.push({stage.node.name})
);

如果列表中不存在该名称,我将尝试将该名称添加到列表中。以上无效。

最佳答案

For...in javascript 中的循环返回字符串,而不是对象。您可以继续将其视为字符串,也可以将其解析为对象以进行循环。

也对你重新定义 i 感到非常困惑,除非你在第一个循环中创建一个不同的变量,否则它不会起作用

for (field in this.job[0].stages[i]) {
console.log(field);
for (node in this.job[0].stages[i][field]) {
console.log(node);
console.log(this.job[0].stages[i][field][node].name);
}
}

编辑:

在这里,根据你在 OP 中的内容,我已经修复了你的语法错误

var data = [
{
"something": "something",
"stages": [{
"node": {"name": "test0"},
"status": {"name": "test"},
"time": {"name": "test"}
},{
"node": {"name": "test1"},
"status": {"name": "test"},
"time": {"name": "test"}
}]
}
];

nodeList = [];

data.forEach(obj =>
obj.stages.forEach(stage => {
if (nodeList.indexOf(stage.node.name) === -1) {
return nodeList.push(stage.node.name)
}
})
);

关于javascript - 如何使用 javascript 在此示例中嵌套 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56435535/

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