ES6新增数组遍历方法

定义一个数组

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容