在給定的searchObject規格中是否有任何簡短而整潔的方式查找以下列表中的項目?javascript中的多個字段比較
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確實不一定在列表中的項目的所有屬性。我需要屬性之間的運算符爲和(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)'。 [它不會做你的想法](http://stackoverflow.com/a/500531/36866) – some