Javascript:遍历数组以获取每个元素的对象属性

时间:2014-11-20 23:11:12

标签: javascript arrays object lookup

我有一个包含多个对象的数组

"status": [
    {
      "feature": "sun",
      "color": "yellow",
    },
    {
      "feature": "rain",
      "color": "grey",
    },

我想为每个'功能'返回属性'color'的值 输出将返回:'yellow'和'gray'

我真的不知道如何开始...

由于


3 个答案:

答案 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

DEMO

答案 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)