• 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]);
            } 

     

  • 相关阅读:
    c++ grpc 第一个用例
    Git用法
    2316. 统计无向图中无法互相到达点对数
    docker形式简易部署kibana
    postman设置接口关联这样做,薪资直接涨3k
    C++ //练习 9.16 重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。
    《Python+Kivy(App开发)从入门到实践》自学笔记:高级UX部件——知识点总览
    Disruptor-简单使用
    力扣Hot100-994腐烂的橘子
    图的存储-链式前向星
  • 原文地址:https://blog.csdn.net/SignalFire/article/details/125461934