循环对象时,array.filter未定义

时间:2015-07-30 11:02:57

标签: javascript arrays angularjs

我有一个对象数组,其中我想要找到的值是一个数字,我希望在找到正确的数字时返回基础对象数组,并且值i'传递给搜索的是型号。

我一直在" array.filter未定义"错误。我假设它是因为结构是一个对象而不是一个数组?这是最好的方法吗?

我有fiddle here

  var obj = array.filter(function ( obj ) {
    return obj === 2000;
  })[0];

  console.log( obj );

1 个答案:

答案 0 :(得分:3)

你的"阵列"不是数组 - 它是一个对象

var array = {
  "legend": {
     ....
  }
}

您想要的只是读取对象的属性 - 其中一些是数字,这意味着您需要使用方括号表示法:

 var obj = array.legend["2000"];

更新了小提琴:http://jsfiddle.net/gJPHw/221/