数组的迭代方法
ES5中为数组定义了5个迭代方法。每个方法都要接收两个参数:要在每一项上面运行的函数和(可选的)运行该函数的作用域对象---影响this的值。
传入方法中的函数会介绍三个参数:1.数组项的值 2. 该项在数组的中位值 3. 数组对象本身;
every()和some()方法
every():对数组中的每一项运行给定函数,如果每一项都返回true,则返回true,否则false;
some():对数组中的每一项运行给定函数,如果至少有一项返回true,则返回true,否则false;
var arr=[1,2,4,5,3,1]; var one=arr.every(function(item,index,array){ return (item>2); }); console.log(one); //false var two=arr.some(function(item,index,array){ return (item>2); }); console.log(two); //true
filter()和map()方法
filter():对数组中的每一项给定函数,返回值为true的项重新组成新的数组;
map():岁数组中的每一项给定函数,返回每一项调用这个函数的结果;
//数组中可以被2整除的数 var arr=[1,2,4,5,3,1]; var one=arr.filter(function(item,index,array){ return (item%2==0); }); console.log(one); //[2, 4] //数组中所有数的2倍 var two=arr.map(function(item,index,array){ return (item*2); }); console.log(two); //[2, 4, 8, 10, 6, 2]
forEach()方法
forEach():对方法中的每一项运行给定函数。这个方法没有返回值;
var a = ['a', 'b', 'c']; a.forEach(function(item,index,array) { console.log(item); }); // "a" // "b" // "c"
归并方法
reduce()和reduceRight()方法
var nums=[1,2,3,4,5]; var sum=nums.reduce(function(prev,cur,index,array){ return prev+cur; }); alert(sum); //15 第一次 prev:1;cur:2; 第二次: prev:3(1+2) cur:3 以此类推 /******************************************************************************************/ var nums=[1,2,3,4,5]; var sum=nums.reduceRight(function(prev,cur,index,array){ return prev+cur; }); alert(sum); //15 第一次 prev:5;cur:4; 第二次: prev:9(5+4) cur:3 以此类推
以上这篇详谈JS中数组的迭代方法和归并方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
js数组迭代方法
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“详谈JS中数组的迭代方法和归并方法”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。