gpt4 book ai didi

javascript - 输出嵌套数组,输出键而不输出内容?

转载 作者:行者123 更新时间:2023-12-03 02:37:26 25 4
gpt4 key购买 nike

读完这篇文章后SO post我的数据结构循环仍然存在问题:

users:
{
'names': ['john','chris'],
'addresses': ['10 king street', '20 king street'],
}

循环:

for (const prop in this.payload) {
console.log(prop); //names

for (const item of prop) {
console.log(item); //n //a //m //e //s
}
}

它似乎正在输出键“名称”的字母,然后对其他键执行相同的操作。

为什么?预期输出为:

names
john
chris
addresses
10 king street
20 king street

最佳答案

prop 是一个字符串。如果您循环遍历一个字符串,您将循环遍历它的字符,这就是您所看到的。

相反,获取该属性名称引用的值,并循环该值:

this.payload = {
'names': ['john', 'chris'],
'addresses': ['10 king street', '20 king street'],
};

for (const prop in this.payload) {
console.log(prop); //names

for (const item of this.payload[prop]) {
console.log(item);
}
}

更好的是,使用Object.entries():

this.payload =  {
'names': ['john','chris'],
'addresses': ['10 king street', '20 king street'],
};

for (const [prop, items] of Object.entries(this.payload)) {
console.log(prop);

for (const item of items) {
console.log(item);
}
}

或者,如果您不关心属性名称,则可以使用 Object.values()

关于javascript - 输出嵌套数组,输出键而不输出内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48489795/

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