Ich versuche einen Weg zu JS Array.prototype.map()
Funktionalität mit einer Funktion zu finden, die einen zusätzlichen Parameter mehr (wenn überhaupt, und ich möchte zu vermeiden Sie, die eingebautes Array.prototype.map()
neu schreiben müssen). Diese Dokumentation ist sehr gut, aber nicht deckt den "Ein-oder-mehr-Zusatzparameter" Fall:JS Callback mit map() mit einer Funktion, die einen zusätzlichen Parameter hat
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
So weit, so gut. Aber was ist, wenn die betreffende Funktion zwei Parameter hat, wie e. G. ein Flag möchten Sie vielleicht oder, um es (man denke an Bitmasken)
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!
Alle Lösungen ohnefor
Schleifen, natürlich tun sollten, denn das ist, warum wir map()
haben, unseren Code sauberer zu machen w/getting los von diesen!
+1, realisiert nach dem Posten meiner Antwort :) – SuperSaiyan
TY! Dies wird wahrscheinlich die einzige Möglichkeit sein, diese Aufgabe abzudecken (abgesehen von bind()). Danke auch an die anderen Beantworter. – syntaxerror