JS-Rückruf unter Verwendung von map () mit einer Funktion, die einen zusätzlichen Parameter hat [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Übergeben Sie ein zusätzliches Argument an eine Rückruffunktion 4 AntwortenIch versuche einen Weg zu finden, JS zu benutzenArray.prototype.map()
Funktionalität mit einer Funktion, die einen zusätzlichen Parameter mehr hat (wenn möglich und ich möchtevermeiden neu schreiben zu müssenArray.prototype.map()
). Diese Dokumentation ist sehr gut, deckt jedoch nicht den Fall "Ein oder mehrere zusätzliche Parameter" ab:
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, ist es gut. Aber was ist, wenn die betreffende Funktion hatzwei Parameter, wie z. G. ein Flag, das Sie möglicherweise ODER-verknüpfen möchten (denken Sie 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!
Irgendwelche Lösungen sollten reichenohne for
Loops natürlich, weil wir das habenmap()
, um unseren Code sauberer zu machen und diese loszuwerden!