数组遍历的几种常用方法
1.最传统方法 for循环
 var arr = ["first","second","third","fourth",100,200,300];
 for(var i = 0; i < arr.length;i++){
        console.log(arr[i]);
    }
    //输出:
     first
     second
     third
     fourth
     100
     200
     300
  
for… in
var arr = ["first","second",'third' ,"fourth",100,200,300];
for(var i in arr){
     console.log(arr[i] +'/' + i);
 }
 //输出结果为:
     first/0
     second/1
     third/2
     fourth/3
     100/4
     200/5
     300/6
  
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
for…of
var arr = ["first","second",'third' ,"fourth",1,2,3];
 for(var item of arr){
     console.log(item);
 }
 //输出结果:
     first
     second
     third
     fourth
     1
     2
     3
  
虽然for… in 、 for… of 都能够变历数组,但是两者还是有很大区别的,先说结论:
两者的主要区别在于他们的迭代方式
- 推荐在循环对象属性的时候,使用for in,在遍历数组的时候推荐使用for of
- for…in 循环出来的是key, for…of循环出来的是value
- for…in 是ES5 标准,for …of 是ES6标准,兼容性可能存在些问题,请注意使用
- for…of 不能遍历普通的对象,需要和Object.keys() 搭配使用
2.foreach方法:被传递给foreach的函数会在数组的每个元素上执行一次,元素作为参数传递给该函数
var arr = ["first","second","third","fourth",100,200,300];
    //element 表示arr的单元项,index 表示arr单元项对应的索引值
    arr.forEach(function(element,index){
        console.log(element + '/' + index);
    })
    //输出结果:
      first/0
      second/1
      third/2
      fourth/3
      100/4
      200/5
      300/6
  
注意:未赋值的值是不会在foreach循环迭代的,但是手动赋值为undefined的元素是会被列出的
3.map 遍历数组,并通过callback对数组元素进行操作,并将所有操作结果放入数组中并返回该数组
 var arr = ["first","second",'third' ,"fourth"];
 var arr2 = arr.map(function(item){
    return item.toUpperCase();
 })
 console.log(arr2);
 //输出:
 [FIRST,SECOND,THIRD, FOURTH]
  
4.filter( )返回一个包含所有在回调函数上返回为true的元素新数组,回调函数在此担任的是过滤器的角色,当元素符和条件,过滤器就返回true,而filter则会返回所有符合过滤条件的元素
var arr = ["first","second",'third' ,"fourth",100,200,300];
    var arr3 = arr.filter(function(item){
        if(typeof item == 'number'){
            return item;
        }
    })
    console.log(arr3);
    //输出结果: 
    [100,200,300]  
  
5. every() 当数组中的每一个元素在callback上被返回true时就返回true(注意:要求每一个单元项都返回true时才为true)
every()与filter()的区别是:后者会返回所有符合过滤条件的元素;前者会判断是不是数组中的所有元素都符合条件,并且返回的是布尔值
var arr = ["first","second",'third' ,"fourth",100,200,300];
var bol = arr.every(function(element){
    if(typeof element == 'string'){
        return element;
    }
 })
 console.log(bol); //false
  
6.some()只要数组中有一项在callback上就返回true
every()与some()的区别是:前者要求所有元素都符合条件才返回true,后者要求只要有符合条件的就返回true
var arr = ["first","second",'third' ,"fourth",100,200,300];
    var bol = arr.some(function(element){
        if(typeof element == 'string'){
            return element;
        }
    })
    console.log(bol); //true
  
 
                    更多精彩
		 
													 
													 
													 
													 
	 
		

