JSのArray.prototype.map()
機能を追加のパラメータが1つ多い関数で使用する方法を見つけようとしています(可能であれば、 を避けるを組み込み、Array.prototype.map()
を書き直す必要がありません。 このドキュメントは非常に良いですが、 "1-または-以上-追加のパラメータ" ケースをカバーしていない:map()を使用して1つの追加パラメータを持つ関数を使用したJSコールバック
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
これまでのところ、とても良いです。 しかし、問題の関数がの2つのパラメータを持っているとしたらどうでしょうか? g。私たちは、コードクリーナーをwを作るために、map()
を持っている理由ですので、フラグあなたが取得/、どれソリューションはもちろん、for
ループなしを行う必要があります
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!
を(ビットマスクと考える)にするかしたい場合がありますこれらを取り除く!
+1、私の答えを投稿した後に実現しました:) – SuperSaiyan
TY!これは(bind()とは別に)この作業をカバーする唯一の方法です。他の回答者にも感謝します。 – syntaxerror