Estoy tratando de encontrar una forma de usar la funcionalidad Array.prototype.map()
de JS con una función que tiene un parámetro adicional más (si es posible, y me gustaría a evite teniendo que reescribir el Array.prototype.map()
incorporado). Esta documentación es muy buena, pero no cubre el caso de "una o más-adicional-parámetro":Devolución de llamada JS usando map() con una función que tiene un parámetro adicional
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
Hasta ahora, todo bien. Pero, ¿y si la función en cuestión tiene dos parámetros, como e. gramo. una bandera es posible que desee O a él (pensar en máscaras de bits)
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!
Cualquier solución debe hacer sinfor
bucles, por supuesto, porque es por eso que tenemos map()
, para hacer nuestro código más limpio w/conseguir deshacerse de estos!
+1, realizado después de publicar mi respuesta :) – SuperSaiyan
TY! Probablemente esta sea la única forma de cubrir esta tarea (aparte de bind()). Gracias a los otros respondedores también. – syntaxerror