संभव डुप्लिकेट एक जटिल श्रृंखला पर indexOf का उपयोग कर:
indexOf method in an object array?मुसीबत
मैं एक जावास्क्रिप्ट सरणी जो इस प्रारूप के अनुसार है:
var arrayName = [
{id: "a", gender: "man", item: "stuff"},
{id: "b", gender: "woman", item: "stuff"},
{id: "c", gender: "man", item: "stuff"},
{id: "d", gender: "man", item: "stuff"}
];
वहाँ एक रास्ता है कि मैं सरणी में इंडेक्स खोजने के लिए array.indexOf का उपयोग कर सकता हूं, उदाहरण के लिए जब मैं "आईडी" चर जानता हूं।
उदाहरण के लिए मैंने कोशिश की;
var position = arrayName.indexOf("b");
arrayName[position].gender = "man"
फिलहाल मैं इसका उपयोग कर रहा हूं;
for(var i=0; i<arrayName.length; i++) {
if(arrayName[i].id == "b"){
arrayName[i].gender = "man";
}
}
यह दूसरी तकनीक काम करता है, लेकिन वास्तविक सरणी मैं उपयोग कर रहा हूँ 150 प्रविष्टियों और प्रत्येक प्रविष्टि में 10 आइटम तो यह सभी के माध्यम से पाशन है बहुत बेकार लगता है जब मैं प्रविष्टि मैं संपादित करना चाहते हैं "आईडी" पता है। अगर मैं इसे काम कर सकता हूं तो सूचकांक एक बहुत साफ दृष्टिकोण होगा।
कॉलिंग इंडेक्स एक सरणी पर क्रॉस-ब्राउज़र संगत नहीं है। – erturne
@erturne - आप सही हैं - यह IE8 में भी नहीं है - वाह –
@erturne: यह नहीं है, लेकिन [जैसा मोज़िला डेवलपर नेटवर्क पर बताया गया है] (https://developer.mozilla.org/en/JavaScript/Reference/ Global_Objects/Array/indexOf), इसे पुराने/बहिष्कृत ब्राउज़रों में भी आसानी से कार्यान्वित किया जा सकता है। – Tadeck