gpt4 book ai didi

javascript - 遍历对象并返回所有属性数组的值

转载 作者:行者123 更新时间:2023-11-30 07:14:53 27 4
gpt4 key购买 nike

我有一个带有一堆属性的 javascript 对象。在这个例子中,每个属性代表一件衣服,有一个键,然后是一个数组的值。

var clothes = {
CLO1: ["shirt", "cotton", "white"],
CLO2: ["tie", "silk", "red"],
CLO3: ["shoes", "leather", "black"]
};

我想遍历每一个并打印出每件衣服的颜色。我试图找出最简洁的方法来做到这一点。像这样的——

for (property in object) {
if (property[key]){
return (property[2])
} else { return "none";
}

如有任何想法,我们将不胜感激。我希望这是有道理的。谢谢!

最佳答案

我觉得不错。数组有时是空的还是空的?评论中建议删除额外的 return 语句是一个很好的建议。

我注意到每个数组都有相似的结构。第一个元素是衣服的类型,第二个元素是 Material ,第三个元素是颜色。您可以使用对象而不是数组。使用对象的优点是它可以告诉您(和其他程序员)更多关于数据结构的信息。使用数组存储这些对象的集合:

var clothes = [
{ type: "shirt",
material: "cotton",
color: "white"
},
{ type: "belt",
material: "leather",
color: "none"
];

此外,不是检查属性“color”是否存在,而是始终包含“color”。如果不相关,请将“颜色”设置为“无”。

打印出的颜色看起来像:

clothes.forEach(function(each) {
console.log(each.color);
});

更新我选择始终包含“颜色”,因为它简化了程序代码。如果没有数据冗余,我必须在遍历属性时检查特定键是否存在。我通常选择简化代码,而不是数据。从哲学上讲,它类似于密集和稀疏数据表示之间的权衡。

还有一个语义原因总是包括颜色。如果有些衣服具有属性“尺码”,而其他衣服则没有。如果我看的所有示例都没有“大小”怎么办?我不知道在我的程序代码中包含“大小”。

关于javascript - 遍历对象并返回所有属性数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27934776/

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