宝哥软件园

用javascript总结六个迭代器

编辑:宝哥软件园 来源:互联网 时间:2021-09-07

1.forEach迭代器

forEach方法接收一个函数作为参数,对数组中的每个元素使用这个函数,只调用这个函数,数组本身没有变化

//forEach迭代器函数square(num){ document . write(num ' ' num * num ' br ');}var nums=[1,2,3,4,5,6,7,8];nums.forEach(正方形);浏览器中的输出是:

2 .每个迭代器

每个方法都接受一个返回值为布尔值的函数,并对数组中的每个元素使用该函数。如果函数为所有元素返回true,则方法返回true,否则返回false

//每个迭代器函数都是偶数(num){ returnnum % 2==0;}var nums=[2,4,6,8];document . write(nums . every(iSeven));3 .一些迭代器

some方法也接受一个返回值为布尔值的函数。只要存在使函数返回真的元素,方法就返回真。

//有些迭代器函数是偶数(num){ returnnum % 2==0;}var nums=[1,3,5,7];document . write(nums . some(iSeven));4 .减少迭代器

reduce方法接受一个函数并返回一个值。该方法从一个累积值开始,并对累积值和数组中的后续元素连续调用函数,知道数组中的最后一个元素,并最终获得返回的累积值

//reduce迭代器函数add (running total,current value){ return running total current value;}var nums=[1,2,3,4,5,6,7,8,9,10];var sum=nums . reduce(add);document . write(sum);结果是:55

reduce()函数与add()函数一起从左到右对数组中的元素求和一次,执行过程如下:

Add (1,2)-3ad(3,36add,4)-10add (10,5)-15add (15,6)-21add (21,7)-28add (28,8)-36add (36,9)

//使用reduce连接数组元素函数concat(累计字符串,item){返回累计字符串项;}var words=['the ',' quick ',' brown ',' fox '];var句子=words . reduce(concat);document.write(句子);最终输出如下:

Javascript还提供了一个ReduceRight方法,它不同于reduce方法,从右向左执行,如下所示:

//使用reduce连接数组元素函数concat(累计字符串,item){返回累计字符串项;}var words=['the ',' quick ',' brown ',' fox '];var句子=words . reduce right(concat);document.write(句子);实施结果如下:

5 .映射迭代器

Map迭代器有点类似于forEach,但是map会改变数组并生成一个新的数组,如下所示

//使用map迭代器生成新的数组函数curve(grade){ return grade 5;}var等级=[77,65,81,92,83];var newgrades=grades.map(曲线);document . write(new grades);输出结果:

6.钳工迭代器

类似于每个迭代器,返回值为布尔值的函数被传入。与every方法不同,当数组中与函数返回的结果相对应的所有元素都为true时,此方法不返回true,而是返回一个新数组,该数组包含返回结果为true的元素。代码如下

函数isEven(num){ return num % 2==0;}函数isOdd(num){ return num % 2!=0;} var nums=[];for(var I=0;i20I){ nums[I]=I 1;} var evens=nums . filter(iSeven);document . write(evens);document . write(' br ');var odds=nums . filter(isOdd);document.write(赔率);输出结果如下:

摘要

以上是javascript中六个迭代器的总结。希望本文的内容对大家的学习有所帮助。

更多资讯
游戏推荐
更多+