繁体   English   中英

遍历对象时未定义array.filter

[英]array.filter is undefined when looping over objects

我有一个对象数组,其中我要查找的值是一个数字,我想在找到正确的数字时返回基础对象数组,而我传递给搜索的值是类型数字。

我不断收到“ array.filter未定义”错误。 我假设这是因为结构是一个对象而不是数组? 最好的方法是什么?

在这里摆弄

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

  console.log( obj );

您的“数组”不是数组-它是一个对象

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM