例子
链接:http: //jsfiddle.net/ewBGt/
var test = [{
"name": "John Doo"
}, {
"name": "Foo Bar"
}]
var find = 'John Doo'
console.log(test.indexOf(find)) // output: -1
console.log(test[find]) // output: undefined
$.each(test, function(index, object) {
if(test[index].name === find)
console.log(test[index]) // problem: this way is slow
})
问题
在上面的示例中,我有一个包含对象的数组。我需要找到具有name = 'John Doo'
我的.each
循环正在工作,但这部分将执行 100 次,并且测试将包含更多对象。所以我认为这种方式会很慢。
这indexOf()
不起作用,因为我无法在对象中搜索名称。
问题
如何name = 'John Doo'
在当前数组中搜索对象?