源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

详谈JS中数组的迭代方法和归并方法

  • 时间:2022-08-02 11:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:详谈JS中数组的迭代方法和归并方法
[b]数组的迭代方法[/b] ES5中为数组定义了5个迭代方法。每个方法都要接收两个参数:要在每一项上面运行的函数和(可选的)运行该函数的作用域对象---影响this的值。 传入方法中的函数会介绍三个参数:1.数组项的值 2. 该项在数组的中位值 3. 数组对象本身; [b]every()和some()方法[/b] 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
[b]filter()和map()方法[/b] 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]
[b]forEach()方法[/b] forEach():对方法中的每一项运行给定函数。这个方法没有返回值;
var a = ['a', 'b', 'c'];

a.forEach(function(item,index,array) {
 console.log(item);
}); 
 // "a"
 // "b"
 // "c"
[b]归并方法[/b] [b]reduce()和reduceRight()方法[/b]
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中数组的迭代方法和归并方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部