Devolución de llamada JS usando map () con una función que tiene un parámetro adicional [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Pasar un argumento extra a una función de devolución de llamada 4 respuestasEstoy tratando de encontrar una manera de usar JSArray.prototype.map()
funcionalidad con una función que tiene un parámetro adicional más (si es posible, y me gustaríaevitar tener que volver a escribir incorporadoArray.prototype.map()
). Esta documentación es muy buena, pero no cubre el caso de "uno o más parámetros adicionales":
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 tan bueno. Pero ¿y si la función en cuestión tienedos parámetros, como e. sol. una bandera que quizás desee O (piense 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 hacersin for
Loops, por supuesto, porque es por eso que tenemosmap()
, para hacer nuestro código más limpio w / deshacerse de estos!