Array#filter
का उपयोग करना, इस विशेष मामले के लिए कोड की तरह
var results = set.filter(function (entry) { return entry.color === "green"; });
Array#filter
कुछ पुराने ब्राउज़र में लागू नहीं किया गया लगेगा, तो एक पश्चगामी संगतता शिम के लिए जुड़ा हुआ आलेख देखें, या बेहतर अभी तक a full-fledged ES5 shim मिलता है।
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" });
फिर से, मैं ECMAScript उपयोग कर रहा हूँ 5 तरीकों Object.keys
और Array#every
, इसलिए एक ES5 शिम का उपयोग करें:
अधिकतर सामान्य मामले के लिए, यह इस विचार का विस्तार का मामला है। (। कोड एक ES5 शिम के बिना संभव है लेकिन मैनुअल छोरों का उपयोग करता है और बहुत कम मज़ा लिखने और पढ़ने के लिए है)
पहले से ही http://stackoverflow.com/questions/1820593/search-a-javascript-object –
में दिए उदाहरण पूरी वस्तु वापस नहीं करता है यही कारण है कि , क्या यह? – fancy
इसका jQuery के साथ कुछ लेना देना नहीं है, इसलिए आपको उस टैग को हटाना चाहिए। यह एक पूरी तरह से जावास्क्रिप्ट सवाल है। – Domenic