मैं एक ऐसे फ़ंक्शन के साथ जेएस की Array.prototype.map()
कार्यक्षमता का उपयोग करने का एक तरीका ढूंढने का प्रयास कर रहा हूं जिसमें एक अतिरिक्त पैरामीटर अधिक है (यदि संभव हो तो, और मुझे पसंद है से Array.prototype.map()
को फिर से लिखने के लिए) से बचें। यह प्रलेखन बहुत अच्छा है, लेकिन "एक या अधिक-अतिरिक्त पैरामीटर" मामले को कवर नहीं करता:जेएस कॉलबैक एक फ़ंक्शन के साथ मानचित्र() का उपयोग करके एक अतिरिक्त पैरामीटर
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map
function doOpSingle(elem)
{
// do something with one array element
}
var A = ["one", "two", "three", "four"];
var x = A.map(doOpSingle); // this will execute doOpSingle() on each array element
अब तक तो अच्छा। लेकिन क्या होगा यदि प्रश्न में कार्य दो पैरामीटर है, जैसे ई। जी। एक झंडा आप के लिए या इसे करने के लिए चाहते हो सकता है, (बिट मास्क के बारे में सोच)
function doOpSingle2(arrelem,flag)
{
// do something with one array element
}
var A = ["one", "two", "three", "four"];
var theFlag = util.getMask(); // call external function
var y = A.map(doOpSingle2(theFlag)); // this does not work!
कोई समाधान निश्चित रूप सेfor
छोरों के बिना करना चाहिए, क्योंकि इसी वजह से हमने map()
है, हमारे कोड क्लीनर डब्ल्यू बनाने के लिए है/हो रही इन से छुटकारा पाएं!
A.map(function(a) {return doOpSingle2(a,theFlag);});
+1, मेरा उत्तर पोस्ट करने के बाद एहसास हुआ :) – SuperSaiyan
टाई! यह संभवतः इस कार्य को कवर करने का एकमात्र तरीका होगा (बाध्य() के अलावा)। अन्य उत्तरदाताओं के लिए भी धन्यवाद। – syntaxerror