私は JS の機能を、もう 1 つの追加パラメーターを持つ関数で使用する方法を見つけようとしていますArray.prototype.map()
(可能であれば、組み込みを書き直す必要はありません)。このドキュメントは非常に優れていますが、「1 つ以上の追加パラメーター」のケースはカバーしていません。Array.prototype.map()
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 つのパラメーターがある場合、たとえばフラグのように、OR したい場合はどうでしょう (ビット マスクを考えてください)。
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!
もちろん、すべてのソリューションはループなし for
で行う必要があります。なぜなら、map()
これらを取り除くことでコードをよりクリーンにする必要があるからです!