JavaScriptにおけるreduce()方法の使用詳細
2721 ワード
JavaScript配列reduce()方法は、配列の2つの値(左から右へ)に対して関数を適用して、1つの値に減らします.構文 calback:関数実行行列内の各値 initial Value:オブジェクトは最初のパラメータコールとして を使用します.
戻り値:
は、単一の値の互換性を減らす配列を返します.
この方法はJavaScriptをECMA-262標準に拡張したものです.したがって、標準的な他の実装では存在しないかもしれない.それを作動させるためには、次のスクリプトコードの上部を追加する必要があります.
array.reduce(callback[, initialValue]);
以下はパラメータの詳細です.戻り値:
は、単一の値の互換性を減らす配列を返します.
この方法はJavaScriptをECMA-262標準に拡張したものです.したがって、標準的な他の実装では存在しないかもしれない.それを作動させるためには、次のスクリプトコードの上部を追加する必要があります.
if (!Array.prototype.reduce)
{
Array.prototype.reduce = function(fun /*, initial*/)
{
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
// no value to return if no initial value and an empty array
if (len == 0 && arguments.length == 1)
throw new TypeError();
var i = 0;
if (arguments.length >= 2)
{
var rv = arguments[1];
}
else
{
do
{
if (i in this)
{
rv = this[i++];
break;
}
// if array contains no values, no initial value to return
if (++i >= len)
throw new TypeError();
}
while (true);
}
for (; i < len; i++)
{
if (i in this)
rv = fun.call(null, rv, this[i], i, this);
}
return rv;
};
}
例:
JavaScript Array reduce Method
if (!Array.prototype.reduce)
{
Array.prototype.reduce = function(fun /*, initial*/)
{
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
// no value to return if no initial value and an empty array
if (len == 0 && arguments.length == 1)
throw new TypeError();
var i = 0;
if (arguments.length >= 2)
{
var rv = arguments[1];
}
else
{
do
{
if (i in this)
{
rv = this[i++];
break;
}
// if array contains no values, no initial value to return
if (++i >= len)
throw new TypeError();
}
while (true);
}
for (; i < len; i++)
{
if (i in this)
rv = fun.call(null, rv, this[i], i, this);
}
return rv;
};
}
var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; });
document.write("total is : " + total );
これは以下の結果を生むだろう.
total is : 6