Wywołanie zwrotne JS za pomocą map () z funkcją, która ma jeden dodatkowy parametr [duplikat]
To pytanie ma już tutaj odpowiedź:
Podaj dodatkowy argument funkcji wywołania zwrotnego 4 odpowiedziPróbuję znaleźć sposób na wykorzystanie JSArray.prototype.map()
funkcjonalność z funkcją, która ma jeszcze jeden dodatkowy parametr (jeśli to możliwe, a chciałbymuniknąć konieczność przepisania wbudowanegoArray.prototype.map()
). Ta dokumentacja jest bardzo dobra, ale nie obejmuje przypadku „jeden lub więcej dodatkowych parametrów”:
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
Jak na razie dobrze. Ale co, jeśli dana funkcja madwa parametry, takie jak e. sol. flaga, na którą możesz chcieć OR (pomyśl o maskach bitowych)
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!
Wszelkie rozwiązania powinny zrobićbez for
pętle, oczywiście, ponieważ dlatego mamymap()
, aby uczynić nasz kod czystszym i pozbyć się ich!