यह पुकार
[0].map(Array);
आपको वही परिणाम देता है जैसे कि आपने कुछ ऐसा लिखा है:
[0].map(function (value, index, array) {
return Array(value, index, array);
})
मानचित्र फ़ंक्शन तीन मापदंडों के साथ एरे फ़ंक्शन को बुला रहा है : तत्व का मूल्य, तत्व का सूचकांक और पूरे सरणी। यह कॉल Arrayआपको 3 तत्वों के साथ सरणी देता है: मूल्य (संख्या 0), सूचकांक (संख्या 0), पूरे सरणी ( [0])।
और यह नया सरणी मूल सरणी में लिपटा हुआ है, क्योंकि आपने मूल तत्व (संख्या 0) को नए तत्व (3 तत्वों की सरणी) में मैप किया है
नोट: आप का उपयोग केवल पहले पैरामीटर का उपयोग करने के लिए किया जा सकता है
array.map(function (a) { return a * a; });
या सूचकांक प्राप्त करने के लिए सिर्फ दो का उपयोग कर
array.map(function (item, index) { return "index=" + index + ", value=" + item; });
लेकिन आपको यह याद रखने की आवश्यकता है कि mapअभी भी 3 पैरामीटर प्रदान करता है जिसे आप अपने कॉलबैक फ़ंक्शन में अनदेखा करते हैं। यही कारण है कि जैसे कोड:
[0].map(String);
रिटर्न
["0"]
यह इसलिए है क्योंकि स्ट्रिंग फ़ंक्शन केवल पहले पैरामीटर के बारे में परवाह करता है और अन्य पारित मापदंडों की उपेक्षा करता है। अगर तुम बुलाओ
String(11, "Some", "other", "ignored", "parameters")
आपको अभी भी मिलेगा
"11"