map( )  属于操作数组的方法。

包含三个参数,item,index,arr

看一份代码:

let arr = [
            {title:'aaa',hot:true},
            {title:'fff',hot:true},
            {title:'vvv',hot:true},
            {title:'bbb',hot:true}
        ];
        let newArr = arr.map((item,index,arr)=>{
            let json = {};
            json.t = `tab${item.title}---`;
            json.h = item.hot === true && "真棒";
            return json;
        });
        console.log(newArr);

  

arr.map((item,index,arr)=>{
            let json = {};
            json.t = `tab${item.title}---`;
            json.h = item.hot === true && "真棒";
            return json;
        });
map函数里面创建了一个json对象,很久以前,我一直认为map函数是将所有itme处理完后再统一返回到一个新的数组里面
并且这段代码里,创建了一个json对象,本以为每次map遍历,都会重新覆盖值json.t和json.h的值
然而结果确实新数组里面有四个元素

这就可以明白,每次return的json都直接push进入了newArr里面,然后重新创建json={}
posted on 2019-01-06 22:06  YKing_匆  阅读(10308)  评论(0编辑  收藏  举报