我有多个对象的Javascript:遍历数组获取对象属性的每个元素
"status": [
{
"feature": "sun",
"color": "yellow",
},
{
"feature": "rain",
"color": "grey",
},
我想每个“功能”返回属性“颜色”的值 输出数组将返回:“黄色”和“灰色”
我真的不知道如何下手......
感谢
我有多个对象的Javascript:遍历数组获取对象属性的每个元素
"status": [
{
"feature": "sun",
"color": "yellow",
},
{
"feature": "rain",
"color": "grey",
},
我想每个“功能”返回属性“颜色”的值 输出数组将返回:“黄色”和“灰色”
我真的不知道如何下手......
感谢
使用本:
for (var i = 0; i < yourObject.status.length; i++)
{
console.log(yourObject.status[i].color);
}
也许你应该开始at the beginning与循环如何工作的?
谢谢@DavidMüller。我应该在我的问题上更加清楚......对不起。 我实际上试图根据'功能'返回'颜色'。例如,循环遍历包含'sun'的元素将返回'黄色'。如果status.feature ===“rain”返回颜色(并且它应该返回'gray' – Eric 2014-11-20 23:34:14
我仍然认为我不确定你想实现什么,如果这个特性是“rain”,那么你想返回这个颜色?在这种情况下? – 2014-11-20 23:39:10
为一个功能,它应该返回相关的颜色 我试图根据该功能填充2个不同句子中的2个颜色值,所以它是一个条件的循环 if feature = sun,return color(黄色) 如果功能=下雨,返回颜色(灰色) 我可能没有看到非常明显的东西.... – Eric 2014-11-20 23:40:42
试试这个
var obj = {
// ...
"status": [
{
"feature": "sun",
"color": "yellow"
},
{
"feature": "rain",
"color": "grey"
}
]
// ...
}
// Array
var r1 = obj.status.map(function(obj) {return obj.color})
// String
var r2 = obj.status.map(function(obj) {return obj.color}).join(' ')
console.log(r1, r2)
开始一个循环! – Mathletics 2014-11-20 23:12:22
作为一个字符串('“黄色灰色”')或作为一个数组('[“黄色”,“灰色”]')?还是其他什么东西? – 2014-11-20 23:16:41