我有一个包含多个对象的数组
"status": [
{
"feature": "sun",
"color": "yellow",
},
{
"feature": "rain",
"color": "grey",
},
我想为每个'功能'返回属性'color'的值 输出将返回:'yellow'和'gray'
我真的不知道如何开始...
由于
答案 0 :(得分:1)
使用它:
for (var i = 0; i < yourObject.status.length; i++)
{
console.log(yourObject.status[i].color);
}
也许你应该开始at the beginning循环如何工作?
答案 1 :(得分:0)
您可以使用filter
。
filter
返回一个数组,所以如果你确定feature / color之间只有1:1的相关性,只需返回第一个元素的颜色值:
function getColor(feature) {
return obj.status.filter(function (el) {
return el.feature === feature;
})[0].color;
}
getColor('sun'); // yellow
getColor('rain'); // grey
答案 2 :(得分:0)
试试这个
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)