不生成新数组的迭代器方法:forEach()every()some()reduce()reduceRight()
一、forEach():接受一个函数作为参数, 对数组中的每个元素使用该函数。
function square(num) {alert(num + " : " + num * num);}var nums = [ 1, 2, 3, 4 ];nums.forEach(square);
二、every(): 接受一个返回值为布尔类型的函数, 对数组中的每个元素使用该函数。
function isEven(num) {return num % 2 == 0;}var nums = [ 2, 4, 6, 8, 10 ];var even = nums.every(isEven);if (even) {alert("all numbers are even");} else {alert("not all numbers are even");}
三、some() :接受一个返回值为布尔类型的函数, 只要有一个元素使得该函数返回 true,该方法就返回 true。
function isEven(num) {return num % 2 == 0;}var nums = [ 1, 2, 3, 6, 7 ];var someEven = nums.some(isEven);if (someEven) {alert("some numbers are even");} else {alert("no numbers are even");}
四、reduce() :接受一个函数, 返回一个值。
该方法会从一个累加值开始, 不断对累加值和数组中的后续元素调用该函数, 直到数组中的最后一个元素, 最后返回得到的累加值。
function add(runningTotal, currentValue) {return runningTotal + currentValue;}var nums = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];var sum = nums.reduce(add);alert(sum); // 显示 55
function concat(accumulatedString, item) {return accumulatedString + item;}var words = [ "the ", "quick ", "brown ", "fox " ];var sentence = words.reduce(concat);alert(sentence); // 显示 "the quick brown fox"
五、reduceRight() 方法:执行顺序与reduce相反
function add(runningTotal, currentValue) {return runningTotal + currentValue;}var nums = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];var sum = nums.reduceRight(add);alert(sum); // 显示 55
function concat(accumulatedString, item) {return accumulatedString + item;}var words = [ "the ", "quick ", "brown ", "fox " ];var sentence = words.reduceRight(concat);alert(sentence); // 显示 "fox brown quick the"
转载于:https://www.cnblogs.com/feile/p/5369987.html
不生成新数组的迭代器方法:forEach()every()some()reduce()reduceRight()相关推荐
- JS数组的迭代器方法
迭代器forEachevery 一.迭代器方法 迭代器方法, 这些方法对数组中的每一个元素应用一个函数,可以返回一个值,一组值或一个新数组. 不生成新数组的迭代器方法 1.forEach() forE ...
- vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...
从一个数组中取部分值生成新数组,要实现此需求通常都是采用循环的方法来完成,那有没有更简易的思路呢? 借用jscript可以实现,直接取值,不用循环.例如从100000万中元素是取8000个值出来生成新 ...
- 【ES6】es6数组中对象去重,数组对象去重方法总结---filter()与reduce()实践
es6数组中对象去重 方法一: filter()与findIndex()给数组去重 1. filter()用法 2. findIndex()用法 3. 去重实战 方法二:reduce()去重 1. r ...
- js根据数组长度生成新数组
for+push var arr = new Array(); for(var i=0;i<100;i++){arr.push(i); } console.log(arr); Array.fro ...
- 数组的Map方法详解
作用 map():创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成. 语法 arr.map(callback(currentValue [, index [, arra ...
- JavaScript数组内置方法-知识
/* * 数组中常用的内置方法:基于这些方法可以让我们有效的对数组进行操作 * console.dir(Array.prototype) 查看数组内置方法 ...
- javascript数组——新建数组、访问数组、遍历数组的方法、数组对象的方法、冒泡排序算法、json的正反序列化
目录 数组 通过构造函数的三种方法 字面量创建数组方式 访问数组 遍历数组的方法 遍历:遍历就是把数组中的元素从头到尾都访问一次 操作数组对象的方法 删除和添加 delete与Vue.delete区别 ...
- 【JavaScript】查漏补缺 —数组中filter()方法
[JavaScript]查漏补缺 -数组中filter()方法 一.filter()方法 该方法用于过滤数组成员,满足条件的成员组成一个新数组返回.它的参数是一个函数,所有数组成员依次执行该函数,返回 ...
- JS数组类型,数组的各种方法和操作(后盾人笔记)
数组是多个变量值的集合,数组是Array 对象的实例,所以可以像对象一样调用方法. 数组是引用类型,因此使用 = 直接赋值数组,修改新数组时会把原数组修改掉,这样只是将数组的地址赋值给了它,如果对该变 ...
最新文章
- 2018 蓝桥杯省赛 B 组模拟赛(一)-年龄
- colMedians(x) : Argument ‘x’ must be a matrix、rowMedians(data) : Argument ‘x‘ must be a matrix.
- ## Hive分析疫情数据
- JAVA 重载,重写(覆盖)个人理解
- HDU 4085 Peach Blossom Spring
- 04 | 事件调度层:为什么 EventLoop 是 Netty 的精髓?
- 计算机无法进系统咋办,主编教您电脑无法进入系统怎么办
- labview曲线上两点画延长线_自由泳,那些防不胜防的错误动作(上)
- Qt基础-QTreeView简单demo、视图模型、坐标位置对应关系介绍等
- 销毁Session和清空指定的属性
- STM32F072单片机的低功耗实验/STOP模式低功耗调试
- matlab实训心得,沟通实训心得体会
- 华为外包员工是什么样的群体?
- 兔子是这样吃掉狼和野猪的
- 基于51单片机万年历
- 程序集定义(Assembly Definition File)
- Windows必装的3款免费效率工具,排名不分先后
- Intellij Idea远程调试小记
- 自己为什么活着,活着的意义是什么?
- 我做淘宝7年的工作经验总结