码迷,mamicode.com
首页 > 编程语言 > 详细

javascript

时间:2019-11-03 14:24:06      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:大于   array   组元   调用   cti   判断   筛选   cer   javascrip   

js的数组迭代方法

Array.forEach

forEach方法为每个数组元素调用一次函数(回调函数)。 数组求和: var arr = [1,2,4,67,3]; var result=0; arr.forEach(sumArray); function sumArray(value, index, array) { result += value; } 上面的例子只使用了value一个参数,所以可以省略index和array两个参数。

Array.map

跟forEach类似,不过是通过返回值来建立一个新数组,但不改遍原数组的值。不会为undefined原素执行。 将某一个数组每个元素都*2: var number = [1,2,3]; var doubleNumber = number.map(doubleArray); function doubleArray(value, index, array) { return value * 2; }

Array.filter

跟以上的用法类似,用于筛选满足条件的元素创建新的数组。

Array.reduce,Array.reduceRight

用于迭代计算。接受四个参数total, value, index, array 例数组求和: var arr = [1,2,4,67,3]; var result=arr.reduce(sumArray,0); function sumArray(total, value, index, array) { return total + value; } 可以不用写初始值0,reduceRight类似,只不过计算是从右到左。

Array.every,Array.some

使用方法类似,判断是否数组的所有值或者某一个值满足条件,学过离散数学应该很好理解。 判断是否所有元素大于5: function everyGTZ(value) { return value - 5; }

Array.find,Array.findIndex

使用返回类似,find返回的是数组的元素,findIndex返回的是数组元素的下标,均返回第一个元素。

js函数

跟其他语言类似,参数是通过值传递——如果函数改变了参数的值,它不会改变参数的原始值。对象是引用传递——如果函数改变了对象属性,它也改变了原始值。

js闭包

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();

add();
add();
add();

counter的值是3

javascript

标签:大于   array   组元   调用   cti   判断   筛选   cer   javascrip   

原文地址:https://www.cnblogs.com/im73/p/11786032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!