【发布时间】:2013-11-10 00:31:05
【问题描述】:
是否有任何简洁的方法可以在以下列表中找到具有给定 searchObject 规范的项目?
var list = [
{ id:1, name: "foo", description: "description 1" },
{ id:2, name: "bar", description: "description 2" },
{ id:3, name: "baz", description: "description 3" },
];
var searchObject = { id: 2, name: "bar" };
searchObject 确实NOT 必须具有列表中项目的所有属性。我需要属性之间的运算符为 AND (id==2 && name=="bar")。以下是我想出的。 javascript中是否有任何本机可以做到这一点?
for (var i in list) {
var found = true;
for (var p in searchObject) {
if (list[i][p] !== searchObject[p]) {
found = false;
break;
}
}
if(found) return list[i];
}
【问题讨论】:
-
请不要在阵列上使用
for (x in y)。 It does NOT do what you think
标签: javascript comparison compare