• ES6数组遍历与ES5数组遍历


    一、ES6数组遍历

    (1)find 返回数组中第一个符合条件的元素

            let result = arr.find( (val) => {
                return val % 2 == 0;
            });
            console.log(result);

    (2) findIndex,返回第一个符合条件的元素的索引

            let result = arr.findIndex( (val) => {
                return val % 2 == 0;
            });
            console.log(result);

    (3) for of

    获取值

            for(let item of arr){
                console.log(item);
            }

             for(let item of arr.values()){
                console.log(item);
            }

    获取索引

            for(let index of arr.keys()){
                console.log(index);
            } 

    获取值和索引

             for(let [index,item] of arr.entries()){
                console.log(index,item);
            }

    二、ES5数组遍历

    (1)forEach,不支持continue和break

            arr.forEach((item,index,array) => {
                console.log(item,index);
            });

     (2)map遍历,传入一个回调函数,返回一个新数组

            let result = arr.map((val) => {
                val ++;
                return val;
            })
            console.log(arr,result);

    (3)filter遍历,传入回调函数,返回过滤后的数组

            let result = arr.filter( (val) => {
                return val % 2 == 0;
            });
            console.log(result);

     (3)some,返回是否存在要检测的值,返回Boolean

            let result = arr.some( (val) => {
                return val == 2;
            });
            console.log(arr,result);

     (4)every,只有每个元素都符合才返回true

            let result = arr.every( (val) => {
                return val % 2 == 0;
            });
            console.log(result);

    (5)reduce

    去重

            let result = arr.reduce( (pre,cur) => {
                pre.indexOf(cur) == -1 && pre.push(cur);
                return pre;
            },[]);
            console.log(result); 

    累加

            let result = arr.reduce( (pre,cur) => {
                return pre + cur;
            });
            console.log(result);

    最大值

            let result = arr.reduce( (pre,cur) => {
                return Math.max(pre,cur);
            });
            console.log(result);

    (6)for in

    for in 会把Array.prorotype上的自定义方法也遍历出来,不推荐使用for in 遍历数组

            Array.prototype.myFn = function(){};
            
            for(index in arr){
                console.log(index,arr[index]);
            } 

     

  • 相关阅读:
    机器学习——boosting之提升树
    这个为什么没有渲染就变成了这样了,有什么办法可以变回来吗?😭😭
    Java面向对象编程(七)
    Ubuntu/CentOS 磁盘分区扩展
    ps打开图片的三种方式 同步部分基本操作方式
    【PAT甲级 - C++题解】1045 Favorite Color Stripe
    Hive中几个非常重要的问题
    Chapter3 : Fighting COVID-19 with Artificial Intelligence
    njmon(nimon) + influxdb2 + grafana 系统性能监控
    Git学习笔记4
  • 原文地址:https://blog.csdn.net/SignalFire/article/details/125461934