寫一些簡單的新的js數組的方法供你們參考javascript
Array.map()java
此方法是將數組中的每一個元素調用一個提供的函數,結果做爲一個新的數組返回,並無改變原來的數組
1 let arr = [1, 2, 3, 4, 5] let newArr = arr.map(x => x*2) //arr= [1, 2, 3, 4, 5] 原數組保持不變 //newArr = [2, 4, 6, 8, 10] 返回新數組
2 let arr = [{num:1},{num:2}];
let newArr = arr.map(x=>Object.assign(x,{num2:x*2}));
//newArr = [{num:1,num2:2},{num:2,num2:4}]
Array.forEach()數組
此方法是將數組中的每一個元素執行傳進提供的函數,沒有返回值,直接改變原數組,注意和map方法區分
arr.forEach(x => x*2) // arr = [2, 4, 6, 8, 10] 數組改變,注意和map區分
Array.filter()函數
此方法是將全部元素進行判斷,將知足條件的元素做爲一個新的數組返回
let
arr = [1, 2, 3, 4, 5]
const isBigEnough => value => value >= 3
let
newArr = arr.filter(isBigEnough )
//newNum = [3, 4, 5] 知足條件的元素返回爲一個新的數組
Array.every()spa
此方法是將全部元素進行判斷返回一個布爾值,若是全部元素都知足判斷條件,則返回true,不然爲false:
let
arr = [1, 2, 3, 4, 5]
const isLessThan4 => value => value < 4
const isLessThan6 => value => value < 6
arr.every(el=>el<4)
//false
arr.every(el=>e.<6)
//true
Array.some()code
此方法是將全部元素進行判斷返回一個布爾值,若是存在元素都知足判斷條件,則返回true,若全部元素都不知足判斷條件,則返回false:
let
arr = [1, 2, 3, 4, 5]
const isLessThan4 => value => value < 4
const isLessThan6 => value => value < 6
arr.some(el=>el<4)
//false
arr.some(el=>e.<6)
//true
Array.reduce()blog
此方法是全部元素調用返回函數,返回值爲最後結果,傳入的值必須是函數類型:
let
arr = [1, 2, 3, 4, 5]
const add = (a, b) => a + b
let
sum = arr.reduce(add)
//sum = 15 至關於累加的效果
與之相對應的還有一個 Array.reduceRight() 方法,區別是這個是從右向左操做的