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={}