, bu özel durum için kod
var results = set.filter(function (entry) { return entry.color === "green"; });
Array#filter
bazı eski tarayıcılarda uygulanmadı gibi görünecektir, bu yüzden bir geriye dönük uyumluluk şiminin bağlantılı makalesine bakın veya daha iyisi a full-fledged ES5 shim olsun. , Yine
function findByMatchingProperties(set, properties) {
return set.filter(function (entry) {
return Object.keys(properties).every(function (key) {
return entry[key] === properties[key];
});
});
}
var results = findByMatchingProperties(set, { color: "green" });
Ben ECMAscript 5 yöntemler Object.keys
ve Array#every
kullanarak, bu nedenle ES5 dolgusu kullanmak am: daha genel durum için
, bu fikrin uzanan meselesi. (. Kod bir ES5 altlığına sahip olmayan yapılabilir ama el döngü kullanır ve yazmak ve okumak için çok daha az eğlenceli)
Zaten örnek bütün nesneyi dönmez Yani http://stackoverflow.com/questions/1820593/search-a-javascript-object –
cevap , yapar? – fancy
Bunun jQuery ile alakası yok, bu yüzden bu etiketi kaldırmalısınız. Bu tamamen bir JavaScript sorusu. – Domenic