最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript中reduce()方法的使用详解

来源:动视网 责编:小采 时间:2020-11-27 20:27:46
文档

JavaScript中reduce()方法的使用详解

JavaScript中reduce()方法的使用详解:JavaScript 数组reduce()方法同时应用一个函数针对数组的两个值(从左到右),以减至一个值。语法array.reduce(callback[, initialValue]);下面是参数的详细信息: callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的
推荐度:
导读JavaScript中reduce()方法的使用详解:JavaScript 数组reduce()方法同时应用一个函数针对数组的两个值(从左到右),以减至一个值。语法array.reduce(callback[, initialValue]);下面是参数的详细信息: callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的


JavaScript 数组reduce()方法同时应用一个函数针对数组的两个值(从左到右),以减至一个值。
语法

array.reduce(callback[, initialValue]);

下面是参数的详细信息:

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;
 };
}

例子:

<html>
<head>
<title>JavaScript Array reduce Method</title>
</head>
<body>
<script type="text/javascript">
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 );
</script>
</body>
</html>

这将产生以下结果:

total is : 6

更多JavaScript中reduce()方法的使用详解相关文章请关注PHP中文网!

文档

JavaScript中reduce()方法的使用详解

JavaScript中reduce()方法的使用详解:JavaScript 数组reduce()方法同时应用一个函数针对数组的两个值(从左到右),以减至一个值。语法array.reduce(callback[, initialValue]);下面是参数的详细信息: callback : 函数执行在数组中每个值 initialValue : 对象作为第一个参数回调的
推荐度:
标签: 中的 方法 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top