总结几种数组对象的遍历方法

一, for循环 for循环 只能循环数组 和字符串 不能循环对象

var arr=[2,2,3,4,5,6];
for(var i=0;i

二,for…in 循环 for…in 循环 用于遍历对象 返回对象的每一个属性

 var arr={
            name:'changibngqi',
            age:'sha',
            sex:'nan'
        };
   for(i in arr){
            console.log(i)//返回对象的每个成员
           
        }

三,for…of 循环 for…of , ES6新增遍历数组的方法 可以看成是for…in的增强版 不支持遍历对象

 var arr=[1,2,3,4,5,6];
        for(i of arr){
            console.log(i)//返回每个成员
            return i
        }

四,map遍历方法 map 遍历数组的方法 返回一个新的数组 相当于克隆原数组 对原数组没有影响

  var arr=[1,2,3,4,5]
   var see= arr.map(i=>i*5)
   console.log(see)//5,10,15,20,25 返回修改后的内容 对原数组没有影响

五,some遍历

//some()遍历  会遍历出回调函数返回 true  返回true就会停止遍历
        //遍历数组 数组中的成员 有一项为真 some就返回真 
        //一般用于判断条件
        var arr=['你','是','个','啥','六'];
        arr.some(i=>{
            if(i=='个'){
               return false
            }
            console.log(i)//你 是     有一个成员为false就停止遍历 并且返回false
          
        })

六,forEach遍历 forEach也是循环数组的 并忽略回调函数的返回值

一般能用for就不用forEach

var a = [1, 2, 3, 4, 5];
a.forEach(function (i) {
  console.log(i);//1 2 3 4 5
  // return true ,return false 或者不写返回值,结果都一样
});
a.forEach(i=>console.log(i))//简写

七,every遍历 遍历数组

 //every 遍历   寻找数组的每一项 数组的每一项都为真  every的返回值就为true
        // 如果有一项为假 every的返回值就为false
        //一般用于判断条件
        var arr=[1,2,3,4,1,6];
        console.log(arr.every(i=>i))//true

八, reduce

  //reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
        //reduce接受一个函数,函数有四个参数,分别是:上一次的值,当前值,当前值的索引,数组
        var arr=[0,1,2,3,4]
        arr.reduce((a,b)=>{
            console.log(a+b)
        })

九, find方法 find()方法返回数组中符合测试函数条件的第一个元素。否则返回undefined

 var stu = [
    {
        name: '张三',
        gender: '男',
        age: 20
    },
    {
        name: '王小毛',
        gender: '男',
        age: 20
    },
    {
        name: '李四',
        gender: '男',
        age: 20
    }
]
    var see=stu.find(i=>i.name=='李四')
    console.log(see) //返回 name为李四的那一项 成员

你可能感兴趣的:(js,javascript,js)