美文网首页
ES6新增数组遍历方法

ES6新增数组遍历方法

作者: 木易先生灬 | 来源:发表于2018-10-18 14:02 被阅读0次

    定义一个数组

    var testArray=[100,20,50,46,80,95];
    

    forEach() 方法: 循环原来的数组

    语法:arr.forEach(function(value,index){ //回调函数体 }) ES5
    语法:arr.forEach((value,index)=>{ //回调函数体 }) ES6
    参数说明: value表示数组的元素,index表示数组的索引

    testArray.forEach((v,i)=>{
                console.log("索引",i,"元素",v);
            });
    

    map() 方法: 循环原数组并映射一个新数组出来

    映射:源和目标一一对应的方式
    语法:arr.map((value,index)=>{ //回调函数体 })

    -------------map() 基本使用---------------
    testArray.map((v,i)=>{
    console.log("索引",i,"元素",v);
    });
    

    console.log("原数组",testArray,"新数组",newArray);

    -------------map() 高级使用---------------
    var new2Array=testArray.map((v,i)=>{
        if(v>=90){
            return v;
        }
    });
    console.log("原数组",testArray,"新数组1",newArray,"新数组2",new2Array);
    //修改新的数组
    new2Array.push(50,60);
    for (let o of new2Array) {
        if(o!=undefined){
          console.log(o);
        }
    }
    

    filter() 方法: 过滤不需要的数组元素

    语法:arr.filter((value,index)=>{ //回调函数体 })
    testArray=[100,20,50,46,80,95];

    var betterArray=testArray.filter((v,i)=>{
        if(v>=80){
            return v;
            }
    });
    console.log("分数大于等于80分",betterArray);
    betterArray.push(85,99);
    console.log("分数大于等于80分",betterArray);   
    console.log("原数组",testArray);
    

    总结:

    1. forEach、map、filter都可以遍历数组
    2. forEach操作的原数组,map、filter会返回一个新的数组
    3. 纯粹的遍历操作使用forEach,如果想得到原数组的克隆使用map,如果想根据条件筛选使用filter

    相关文章

      网友评论

          本文标题:ES6新增数组遍历方法

          本文链接:https://www.haomeiwen.com/subject/ylojzftx.html