关于javascript:如何在对象数组中查找值

How to find a value into an Array of Obects

我在javascript中有一个对象数组:

1
2
3
4
5
6
7
8
9
10
11
function focal( name, data )
{
    this.name = name;
    this.data = data;
}

count = 0;

arrayFocal = [];
arrayFocal[count] = new focal("Name","12/08/2014" );
count++;

现在我想按名字查一下arrayFocal。注:IE 8


您可以使用filter

1
2
3
arrayFocal.filter(function(obj){
    return obj.name=='Name';
});

它将返回与name匹配的对象数组。如果你只想要第一个,你可以买一个。


我得到了解决方案:

正如@mritunjay建议的那样:

您可以使用filter

1
2
3
arrayFocal.filter(function(obj){
    return obj.name=='Name';
});

但是我使用的是IE8,它不支持filter。因此,我们提供了filter()方法的实现,正如@jason m.batchelor建议的那样:http://www.devcurry.com/2011/02/filter-array-using-javascript.html


使用下划线

1
_.findWhere(arrayFocal, {name: name})