前言
作為乙個剛剛踏入前端世界的小白,工作中看到身邊同事大佬寫的**就像古詩一樣簡介整齊,而我的**如同一堆散沙,看上去毫無邏輯感,而且簡單的功能需要一大堆**才能實現,不僅加大了自己的工作量,同時也給除錯和維護增加了很大難度。這裡拿我的**和大佬的做一下對比
先上我的**
categoriesapi().then((res) =>大佬們的**item.name=res.list[i].name
item.price=res.list[i].price
.........
this
.datalist.push(item)}}
})
async getcategories(params) =await categories(params)所以這裡需要說到今天的主角,陣列的map用法,this.datalist =[
list.map((node) =>})]
}
map() 方法返回乙個新陣列,陣列中的元素為原始陣列元素呼叫函式處理後的值。
map() 方法按照原始陣列元素順序依次處理元素
我的理解就是map首先會建立乙個新的陣列,其中新陣列的每乙個元素就是原陣列中每乙個元素經過咱們設定的給定函式變化後的結果。也就是說對原始陣列中的每一項執行給定的函式,然後按原陣列的順序組裝成新的陣列,該方法也不會改變原始的陣列,還產生乙個新陣列。
map()接收兩個引數:
第乙個引數必填,為乙個函式,就是上面所說的給定的函式(每一項執行的函式,必寫),這個給定的函式又有三個引數,第乙個為當前元素的值(必寫),第二個引數是當前值的下標索引,第三個為當前元素屬於的陣列物件(目前覺得沒啥用)。
第二個引數非必填,thisvalue,物件作為該執行**時使用,傳遞給函式,用作 "this" 的值。如果省略了 thisvalue,或者傳入 null、undefined,那麼**函式的 this 為全域性物件。(目前還不會用)
//列印結果定義乙個函式,使得傳入的每乙個值都加上2
function
add2(x,y,z)
//定義乙個陣列
var arr = [1,2,3,4,5,6]
var newarr =arr.map(add2)
console.log(newarr);
1==0==1,2,3,4,5,62==1==1,2,3,4,5,6
3==2==1,2,3,4,5,6
4==3==1,2,3,4,5,6
5==4==1,2,3,4,5,6
6==5==1,2,3,4,5,6(6) [3, 4, 5, 6, 7, 8]
let datalist = res.list.map(item =>或者也可以把return省去})
const datelist=res.list.map(item =>()別的高階的場景用法暫時還沒有碰到,我會繼續學習,逐步提高自己的**質量,不再僅僅是用到for迴圈這麼low的寫法,還有foreach,for..in,for...of,,,set,filter,every,find等等好多看起來高大上的方法,不光要學會,更重要是在**中運用到,繼續加油!明天又是充滿希望的一天!!!!);
js 陣列 map方法
map 這裡的map不是 地圖 的意思,而是指 對映 map 基本用法跟foreach方法類似 array.map callback,thisobject callback的引數也類似 map function value,index,array map方法的作用不難理解,對映 嘛,也就是原陣列被 ...
js中的map使用
1.這裡的map是指 對映 語法為 map 基本用法與foreach類似,array.map callback,this.object 2.callback的引數也類似 map function value,index,array 3.map方法就是講原始陣列 對映為新的陣列 例如下面的求平方 va...
JavaScript的陣列的map 方法
map 方法返回乙個新陣列,陣列中的元素為原始陣列元素呼叫函式處理的後值。map 方法按照原始陣列元素順序依次處理元素。遍歷處理的意思 注意 map不會對空陣列進行檢測 map不會改變原始陣列 在map裡邊自定義函式return什麼就輸出什麼樣的新陣列 自定義函式裡 使用return操作輸出,會迴圈...