jsreduce函数 JavaScript数组的各种遍历方式总结

jsreduce函数_函数模板与模板函数_q函数 误差函数 互补误差函数及常

遍历数组是任何一门语言必不可少的功能,本文主要介绍JavaScript中遍历数组的各种方法。

首先定义一个数组,如下图所示:

函数模板与模板函数_jsreduce函数_q函数 误差函数 互补误差函数及常

1、every函数

arr.every(callback(currentValue, index, array)[, thisArg])

测试数组的所有元素是否都通过了指定函数的测试

callback 用来测试每个元素的函数。

thisArg 可选,如果为 every 提供一个 thisArg 参数,在该参数为调用 callback 时的 this 值。如果省略该参数,则 callback 被调用时的 this 值,在非严格模式下为全局对象,在严格模式下传入 undefined。

currentValue:元素值,index:元素的索引,array:原数组

every 不会改变原数组。当callback函数返回false时,循环结束,示例如下:

函数模板与模板函数_q函数 误差函数 互补误差函数及常_jsreduce函数

打印结果如下:

2、some函数:

arr.some(callback(currentValue, index, array)[, thisArg])

currentValue:元素值,index:元素的索引,array:原数组

some 不会改变原数组。与every不通的是,当callback函数返回true时,循环结束,示例如下:

jsreduce函数_q函数 误差函数 互补误差函数及常_函数模板与模板函数

打印结果如下:

3、forEach函数:

arr.forEach(callback(currentValue, index, array)[, thisArg])

为每个元素都执行callback函数,直接修改原数组,没有返回值,循环过程中不能停止,示例如下:

q函数 误差函数 互补误差函数及常_函数模板与模板函数_jsreduce函数

打印结果如下:

jsreduce函数_q函数 误差函数 互补误差函数及常_函数模板与模板函数

4、map函数:

arr.map(callback (currentValue, index, array)[, thisArg])

返回一个经过处理的新数组,不会破坏原来的数组,需要注意的是callback函数里面需要返回currentValue,也就是说map是通过每次循环返回的值作为元素组成新数组的jsreduce函数,并且在循环过程中不能停止,示例如下:

函数模板与模板函数_jsreduce函数_q函数 误差函数 互补误差函数及常

打印结果如下:

q函数 误差函数 互补误差函数及常_函数模板与模板函数_jsreduce函数

5、filter函数:

arr.filter(callback (element, index, arrArg)[, thisArg])

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。示例如下:

打印结果如下:

jsreduce函数_q函数 误差函数 互补误差函数及常_函数模板与模板函数

6、reduce函数:

arr.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)

方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值,返回函数累计处理的结果。

参数说明:

callback:执行数组中每个值的函数,包含四个参数

accumulator 上一次调用回调返回的值,或者是提供的初始值(initialValue)

currentValue 数组中正在处理的元素

currentIndex 数据中正在处理的元素索引,如果提供了 initialValue ,从0开始;否则从1开始

initialValue 可选项,其值用于第一次调用 callback 的第一个参数。如果没有设置初始值,则将数组中的第一个元素作为初始值。空数组调用reduce时没有设置初始值将会报错。示例如下:

q函数 误差函数 互补误差函数及常_jsreduce函数_函数模板与模板函数

打印结果如下:

q函数 误差函数 互补误差函数及常_jsreduce函数_函数模板与模板函数

7、for循环:

for循环是使用频率较高的方法,效率也较高。数据量较大时,建议用此种方法。它可以通过break语句跳出循环,也可以通过continue语句跳过当前循环,示例如下:

函数模板与模板函数_jsreduce函数_q函数 误差函数 互补误差函数及常

打印结果如下:

需要注意的是for循环里面不支持return语句,如下写法会报错:

函数模板与模板函数_jsreduce函数_q函数 误差函数 互补误差函数及常

打印结果如下:

for方法还有两种变体如下,但是效率不高:

jsreduce函数_q函数 误差函数 互补误差函数及常_函数模板与模板函数

这种方式效率最低

jsreduce函数_q函数 误差函数 互补误差函数及常_函数模板与模板函数

需要ES6支持,性能要好于forin,但仍然比不上普通for循环

js数组遍历函数虽然比较多,但各有各的用途jsreduce函数,还希望大家在写项目代码的过程中多多尝试一下。如果不知选哪个,或者比较注重效率的话,最佳的选择还是普通for循环。

———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99

滚动至顶部