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