说,我有那么简单的对象数组。
var x = [
{
id: 1001
name: "Jim",
surname: "Beam"
},
{
id: 1002
name: "Jack",
surname: "Black"
}
]
每个对象都有id
,name
和surname
属性。
如何在x
数组中找到id
属性等于1002
的对象?
最简单的方法是定义一个带谓词的find函数
function find(arr, predicate) {
for (var i = 0; i < arr.length; i++) {
if (predicate(arr[i]) {
return arr[i];
}
}
return null;
}
然后你可以在数组上使用这个方法
var found = find(x, function (item) { item.id === 1002 });
一个简单的循环就足够了:
for(var i=0, len=x.length; i < len; i++){
if( x[i].id === 1002){
//do something with x[i]
}
}
即使你正在处理json,也要记住它只是数组,对象和基元的层次结构。