1. 程式人生 > >JS陣列常用方法:forEach、map、filter、some、every,filter與map區別

JS陣列常用方法:forEach、map、filter、some、every,filter與map區別

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]