• 技术文章 >web前端 >前端问答

    es6遍历数组都有什么方法

    青灯夜游青灯夜游2022-03-07 18:49:43原创63

    es6遍历数组的方法:1、使用forEach(),可为数组中的每个元素调用一个函数;2、使用map(),对数组的每个元素调用指定的回调函数;3、使用filter();4、使用some();5、使用every();6、使用reduce()。

    本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

    ES6常见的数组遍历(迭代)方法

    声明一个需要遍历的对象

    下面的代码都是要引用这个对象的

     let data = {
                    code: 1,
                    list: [{
                            id: 23,
                            title: "女装1",
                            price: 300
                        },
                        {
                            id: 24,
                            title: "女装2",
                            price: 200
                        },
                        {
                            id: 27,
                            title: "男装1",
                            price: 100
                        },
                        {
                            id: 29,
                            title: "男装2",
                            price: 400
                        },
                        {
                            id: 230,
                            title: "女装3",
                            price: 600
                        },
                        {
                            id: 40,
                            title: "童装1",
                            price: 700
                        }
                    ]
                }

    forEach

    forEach的话不能使用break 与continue语句

        // 有二个参数 第一个参数是数值 第二个参数是索引值 
         data.list.forEach(function(item,index){
        console.log(item,index)
        
     //输出结果是{
    //   {id: 23, title: "女装1", price: 300} 0
    //  {id: 24, title: "女装2", price: 200} 1
    //  {id: 27, title: "男装1", price: 100} 2
    //  {id: 29, title: "男装2", price: 400} 3
    //  {id: 230, title: "女装3", price: 600} 4
    //  {id: 40, title: "童装1", price: 700} 5
    //     }
        
         })

    map

        //map 映射
        //遍历数据并返回一个新的数组 对数据的处理会返回原先对应的位置
    
        let arr = [2, 3, 6];
        let newArr = arr.map(function (val, index) {
            // 第一个参数是值 第二个参数是索引值
            console.log(arr)
        })

    **遍历数据并返回一个新的数组 对数据的处理会返回原先对应的位置

    要添加代码块 map 不可以解析同一个块级作用域

    {}{}代表不同的块级作用域 分别在不同里面写**

    // 浅拷贝
    // 浅拷贝是指a把值 给了b 当b的值改变 a b 的值同时改变。
    {
            let arr = [2, 3, 6];
            let newArr = arr.map(function (index, val) {
                // 第一个参数是索引值 第二个参数是值        })
            console.log(arr)// 0: 2
                            // 1: 3
                             // 2: 6    }
        {
            // 浅拷贝
            // 浅拷贝是指a把值 给了b 当b的值改变 a b 的值同时改变。
            let newArr = data.list.map((item, index) => {
                item.price = item.price * .6
                return item;
            });
            console.log(newArr)//打印的结果价格都是改变的,一样的{
            // 0: {id: 23, title: "女装1", price: 180}
            // 1: {id: 24, title: "女装2", price: 120}
            // 2: {id: 27, title: "男装1", price: 60}
            // 3: {id: 29, title: "男装2", price: 240}
            // 4: {id: 230, title: "女装3", price: 360}
            // 5: {id: 40, title: "童装1", price: 420}
            // }
            console.log(data.list)//同上    }

    在这里插入图片描述

    输出结果 深拷贝无论a b 值哪个改变 最终结果都不会随着a b的改变而改变

    在这里插入图片描述

    // 深拷贝 2(简单粗暴)

    在这里插入图片描述
    在这里插入图片描述

    filter 过滤

    在这里插入图片描述
    过滤到价格小于300的 打印出来
    在这里插入图片描述

    some

    定义的是找到一个值并且返回

    在这里插入图片描述

    在这里插入图片描述

    every

    这个返回的是如果其中一个为假 全部返回为假 返回的是每个条件

    在这里插入图片描述
    这个是输出的信息

    在这里插入图片描述

    reduce 用来实现累加的效果

    输出的总和是 sum+val(数值)

    // reduce 用来实现累加的效果 (常用于写购物车价格的累加)
    // 声明一个数组 数组里面放数字 让其里面的数字显示为累加的总和
    //  let arr=[200,200,100]
    //  let result =arr.reduce((sum,val,index)=>{
    //                          200+200 index 
    //                          400+100 index
    // sum是总加后的和 val是变量里面的值 index为索引值 
    //     console.log(sum,val,index)
    //     return sum +val;
    //  })
    //  console.log(result)

    在这里插入图片描述

    【相关推荐:javascript视频教程web前端

    以上就是es6遍历数组都有什么方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:es6 遍历数组
    上一篇:es6反引号怎么用 下一篇:commonjs与es6模块化有什么区别
    PHP编程就业班

    相关文章推荐

    • symbol是es6中的新增类型吗• es6声明变量有几种方法• es6中怎么将set转化为数组• es6合并对象的方法有哪些• es6怎么判断数组是否含有相同的值

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网