es6之循环

132 阅读1分钟
  let arr = [{
            name:'戴森',
            price:2000
        },{
            name:'美的',
            price:1000
        },{
            name:'格力',
            price:3000
        }]
复制代码

1、map方法
map可以把数组里面某一项组合成一个新数组 对原数组不会造成改变

        /* ['戴森','美的','格力'] */
        let arr2 = []
        arr.forEach(function(item,index){
            arr2.push(item.name)
        })
        console.log(arr2);
        /* map循环 */
        /* map可以把数组里面某一项组合成一个新数组 
        对原数组不会造成改变*/
        let arr2 = arr.map(function(item,index){
            console.log(item,index)
            return item.price
        })
        console.log(arr2,arr);
复制代码

2、filter过滤方法
es6循环的过滤方法 回调函数里面 return 一个条件
会返回一个符合条件的新数组 对原数组不会造成改变

        /* 返回一个对象 name叫做'戴森' 的对象
        {
            name:'戴森',
            price:2000
        }
         */

        /* 过滤 price > 1500 */
        /* es6循环的过滤方法 回调函数里面 return 一个条件
        会返回一个符合条件的新数组  对原数组不会造成改变*/
        let arr2 = arr.filter(function(item,index){
            return item.price>1500
        })
        console.log(arr2,arr)

        let arr2 = []
        arr.forEach(function(item,index){
            if(item.price>1500){
                arr2.push(item)
            }
        })
        console.log(arr2)
复制代码

3、find方法
es6 循环之find 循环数组可以找到第一个符合条件的一项(原数组里面的成员)
找到第一个之后立即终止循环

        /* es6 循环之find 循环数组可以找到第一个符合条件的一项(原数组里面的成员) */
        /* 找到第一个之后立即终止循环 */
        let obj = arr.find(function(item,index){
            console.log(item,index)
            return item.price > 100
        })
        console.log(obj)

        // let obj = {};
        // arr.forEach(function(item){
        //     if(item.name=='戴森'){
        //         obj = item;
        //     }
        // })
        // console.log(obj);