Sto cercando un modo per utilizzare la funzionalità Array.prototype.map()
di JS con una funzione che ha un parametro aggiuntivo in più (se possibile, e mi piacerebbe a evitare dovere riscrivere Array.prototype.map()
incorporato. Questa documentazione è molto buona, ma non copre il caso "one-o-più-addizionale-parametro":JS callback utilizzando map() con una funzione che ha un parametro aggiuntivo
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
Fin qui, tutto bene. Ma cosa succede se la funzione in questione ha due parametri, come e. g. una bandiera si potrebbe desiderare di OR ad esso (si pensi maschere di bit)
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!
Tutte le soluzioni dovrebbero fare senzafor
loop, naturalmente, perché è per questo che dobbiamo map()
, per rendere il nostro più pulito il codice w/ricevendo liberati di questi!
+1, realizzato dopo aver inviato la mia risposta :) – SuperSaiyan
TY! Questo sarà probabilmente l'unico modo per coprire questo compito (tranne bind()). Grazie anche agli altri rispondenti. – syntaxerror