遍历的几种方法;

//    
//    1. 普通的循环
let arr = ['apple','banane','pear','tomato'];
   for (let i=0;i<arr.length;i++){
        console.log(arr[i]);
   };
//    2.代替for;
arr.forEach(function (val,index,arr) {
 console.log(index);
    console.log(val);
    console.log(arr);
 });
/*3.    arr.map() 映射 数据交互;正常情况下需要配合return 返回的是一个新的数组;
      如果没有return时,map的功能相当于forEach;
      平时用map时一定要有return返回值
*/
 let data =[
             {name:"小明",age:18,sex:'男'},
             {name:"小智",age:17,sex:'男'},
             {name:"小会",age:16,sex:'女'},
             {name:"小兰",age:19,sex:'女'},
         ];

         data.map((val,index,arr)=>{
             console.log(index);
             console.log(val);
             console.log(arr);
         });

         let newdata = data.map((val,index,arr)=>{
                let json = {};
                json.n = val.name;
                json.i = val.age+10;
                json.s = val.sex;
                return json;
        });
         console.log(newdata);
//    4. arr.filter() 过滤,需要有条件的,过滤一些不合格的不想要的元素;如果回调函数返回值是true,就留下来;
 let newdata01 = data.filter((val,index,arr)=>{
            return val.sex=='男';
         });
console.log(newdata01);
//    5. arr.some() 类似查找;如果有这个元素则返回true;
let arr1=arr.some((val,index,arr)=>{
          return val=='apple';
      });
      console.log(arr1);

      let findInArray=(item,arr)=>{
          return arr.some((val,index,arr)=>function () {
                return val==item;
          });
       }
      alert(findInArray('apple',arr));
//    6. arr.every() 数组里面的所有的元素都符合条件才返回ture;



//    7. arr.reduce(); 从左向右;
 let arr02 = [1,2,3,4,5,6,7,8,9,10];
           let b = arr02.reduce((prev,cur,index,arr)=>{
            return prev+cur;
        });
        console.log(b);

// 8. arr.reduceRight();从右向左

// 9.for ….of 循环

let arr03 =['apple','banane','pear','tomato'];
        for(let val of arr03){
           console.log(val);
        }
        for(let index of arr03.keys()){
            console.log(index);
        }
        for(let item of arr03.entries()){
            console.log(item);
        }
        for(let item of arr03.entries()){
            console.log(item[0]);
            console.log(item[1]);
        }
        for(let [key,val] of arr03.entries()){
            console.log(key);
            console.log(val);
        }

你可能感兴趣的:(遍历的几种方法;)