JavaScript的迭代方法
- every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。
- filter():对数组中的每一项运行给定函数,返回该函数会返回true 的项组成的数组。
- forEach():对数组中的每一项运行给定函数。这个方法没有返回值。
- map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
- some():对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true.
- every主要是用于判断一个素组中的值是否符合某个标准。必须是每个值都符合才会返回true。否则返回false.
- 而some()函数只需要有一个值返回的是true就会返回true.
数组迭代方法:every、some、map、filter、forEach
有返回值的方法:every、some、map、filter
返回数组的方法:map、filter
返回true、false的方法every、some
1 window.onload = function(){ 2 //every()相当于逻辑与 3 var arr = [1,2,3,4,5,6,7,8]; 4 var everyRes = arr.every(function(item,index,array){ 5 return (item>2); 6 }); 7 alert(everyRes); 8 //some()相当于逻辑或 9 var someRes = arr.some(function(item,index,array){ 10 return (item>2); 11 }); 12 alert(someRes); 13 //filter()返回给定条件的数组 14 var filterRes = arr.filter(function(item,index,array){ 15 return (item>2); 16 }); 17 alert(filterRes); 18 //map()返回给定条件的数组 19 var mapRes = arr.map(function(item,index,array){ 20 return (item*2); 21 }); 22 alert(mapRes); 23 //forEach()没有返回值 有兴趣可以自测 24 }
reduce(),reduceRight()。
迭代i数组中的所有值,返回一个按条件计算的最终值。
reduce是从数组的逐个遍历
到最后。而reduceRight()则从数组的最后一项开始,向前遍历到第一项。
例如:
var values = [1,2,3,4,5]; var sum = values.reduce(function(prev, cur, index, array){ return prev + cur; });
alert(sum); //15
第一次执行回调函数,prev 是1,cur 是2。第二次,prev 是3(1 加2 的结果),cur 是3(数组
的第三项)。这个过程会持续到把数组中的每一项都访问一遍,最后返回结果。
resuceRight()函数和reduce类似,不过是倒序。
部分转载 如侵必删
浙公网安备 33010602011771号