調用數組
arr.forEach((value, index) => { console.log(value, index) })
forEach
是循環遍歷一遍數組的每一項,這個是沒有返回值的,這個方法裏面有個回調函數,回調函數有兩個參數,第一個是數組每一項的值value
,第二個參數是數組每一項對應的下標索引index
函數
Tips這個forEahc
循環遍歷和JQuery的$.each()
方法是相似的,只不過須要注意的是$.each方法裏面的回調函數的兩個參數跟forEach
方法是相反的,第一個參數是數組每一項的下標索引index
,第二個參數纔是數組每一項 的值value
測試
方法參考文獻code
調用索引
const boolean = arr.every((value, index, arr) => { return value==2 })
這個數組方式有點相似短路運算&&
,能夠看成是一個數組驗真的方法,這個方法裏面有個回調函數,這個回調函數有三個參數,第一個是測試的數組每一項,第二個是測試數組項的下標索引,第三個是測試的原數組ip
測試數組的每一項都會執行every()
方法裏面的回調函數,這個函數是用來校驗數組的每一項是否知足指定條件,數組每一項都會執行一次回調函數,若是數組裏面的全部項都知足指定條件,則返回true
,但凡數組裏有一項不知足條件,則返回false
get
Tips 若是測試的是空數組,則在一切狀況下都會返回true
,這個方法並不會改變原數組回調函數
方法參考文獻it
調用console
const boolean = arr.some((value, index, arr) => { return value==2 })
這個數組方法有點相似短路運算||
,能夠看成是一個數組驗假的方法,這個方法裏面有個回調函數,這個回調函數有三個參數,第一個是測試的數組每一項,第二個是測試數組每一項的下標索引,第三個是測試的原數組
測試數組的每一項都會執行some()
方法裏面的回調函數,這個函數是用來校驗數組的每一項是否有一個知足指定條件,數組每一項都會執行一次回調函數,若是數組裏面的全部項都不知足指定條件,則返回false
,但凡數組裏有一項知足條件,則當即返回true
Tips 若是測試的是空數組,則在一切狀況下都會返回false
,注意這個方法沒有找到一個知足條件的數組項,就會一直執行下去,若是找到一個知足條件的數組項,則會當即返回true
,後面的數據就不會再執行
調用
const newArr = arr.map((value, index, arr) => { return value==2 })
這個數組方法會返回一個新數組,數組的結果是數組每一項執行回調函數後的結果的集合,這個方法的回調函數有三個參數,第一個是測試的數組每一項,第二個是測試數組每一項的下標索引,第三個是測試的原數組
測試數組每一項都會執行回調函數,並把執行的結果追加到一個新數組裏面,而後返回這個新數組,這個新數組的每一項都是執行回調函數後的結果集
Tips 這個方法並會改變原數組,可是能夠在 callback
執行時改變原數組
調用
const newArr = arr.filter((value, index, arr) => { return value==2 })
這個數組方法會返回一個新數組,新數組的結果是測試數組的每一項執行回調函數過濾篩選後知足條件的結果集,這個方法的回調函數有三個參數,第一個是測試的數組每一項,第二個是測試數組每一項的下標索引,第三個是測試的原數組
這個方法就至關於於一個過濾器,篩選器,測試數組每一項都會指定回調函數,可是隻有知足指定結果的項才能夠被添加到新數組,並返回,不知足的則被過濾掉,若是都不知足,則返回一個空數組
Tips 不會改變原數組,它返回過濾結果的新數組
調用
const result = arr.reduce((count, value, index, arr) => { return count + value },initCount)
這個數組方法會返回一個數組每一項累加的結果值,這個方法有兩個參數:
第一個是回調函數,這個回調函數有四個參數,第一個是數組項每一次執行時上一次執行的累計結果,或者用戶自定義的初始累計結果,第二個是測試的數組每一項,第三個是測試數組每一項的下標索引,第四個是測試的原數組
第二個參數是初始累計結果,這個是用戶自定義的,若是定義了,則初始化執行時用這個值去累加數組第一項,並將累加的結果值做爲回調函數的第一個參數用於第二次累計的一個參數,依次循環下去,若是沒有,則默認數組第一項
這個方法跟reduce是一毛同樣的,只不過一個從左至右,一個是從右至左
一、forEach
是遍歷循環數組每一項,沒有返回結果,reduce
是將數組每一項累計並返回最終累積值
二、every
和some
是返回一個布爾值,二者是相反的,前者是全部爲真,才返回true
,不會終止後面項的執行,後者是隻要有一項爲真,則當即返回true
,並結束後面項的執行
三、map
和filter
是返回一個新數組,前者是返回數組每一項的計算結果的數組,後者是返回一個知足條件項的計算結果的數組
四、以上方法都不會改變原數組