JS陣列常用方法:forEach、map、filter、some、every,filter與map區別
阿新 • • 發佈:2019-01-10
forEach() 方法對陣列的每一個元素執行一次提供的函式。
map() 方法建立一個新陣列,其結果是該陣列都執行一次函式,原函式保持不變。
filter() 方法使指定函式測試陣列的每一個元素,並放回一個通過元素的新陣列。
some() 方法測試該陣列有元素通過了指定函式的測試,如果有返回true,否則,返回false。
every() 方法測試該陣列是否全部通過指定函式測試,全部通過返回true,否則,返回false。
// forEach 遍歷陣列 var arr = [{name: 'llx',age: 18}]; arr.forEach((item,index)=>{ item.age += 1 }) console.log(arr) // [{name: 'llx',age: 19}]
// map 返回新的陣列
var arr = [{key:1,value:1},{key:2,value:2},{key:3,value:3}]
arr.map(item=>{
return item.value+1
})
// [2,3,4]
// filter 返回小於3的元素
var numList = [1,2,3,4,5]
numList.filter(num=>{
return num<3
})
// [1,2]
// some 判斷陣列是否存在大於5的元素 var arr = [1,2,3,4,5,6]; arr.some(item=>{ return item>5 }) //true
// every 判斷所有元素大於5
var arr = [1,2,3,3,4,5]
arr.every(num=>{
return num > 5
})
// false
filter、map的區別:
// map、filter 區別
var arr = [1,2,3,4,5]
console.log(arr.map(num=>num>3))
console.log(arr.filter(num=>num>3))
// [false, false, false, true, true]
// [4,5]