1. 程式人生 > >JS:陣列 some filter map forEach reduce 方法

JS:陣列 some filter map forEach reduce 方法

some

接收一個方法,該方法可傳入三個引數,第一個為陣列的一個元素,第二位為該元素的下標,第三個為原陣列。

遍歷陣列並使用傳入引數執行方法,如果return值為false,則繼續迴圈,如果return值為true,則終止迴圈,並返回true。如果遍歷結束且return 值全部為false,則返回false。

var arr = [0,1,2,3];
var gt0 = arr.some( (v,i) => (v > 0) ); //gt0為true

filter

接收一個方法,該方法可傳入三個引數,第一個為陣列的一個元素,第二位為該元素的下標,第三個為原陣列。

遍歷陣列並使用傳入引數執行方法,返回一個由return值為trur的元素組成的新陣列。

var arr = [0,1,2,3];
var arr1 = arr.filter( (v,i) => (v > 0) ); //arr1為[1,2,3];

map

接收一個方法,該方法可傳入三個引數,第一個為陣列的一個元素,第二位為該元素的下標,第三個為原陣列。

遍歷陣列並使用傳入引數執行方法,返回一個由方法執行之後的新元素組成的新陣列。

var arr = [0,1,2,3];
var arr1 = arr.map( (v,i) => v * 2 ); //arr1為[0,2,4,6];

forEach

接收一個方法,該方法可傳入三個引數,第一個為陣列的一個元素,第二位為該元素的下標,第三個為原陣列。

遍歷陣列並使用傳入引數執行方法,無返回值。除非迴圈結束或報錯終止,否則forEach方法無法跳出迴圈。

var arr = [0,1,2,3];
arr.forEach( (v,i) => console.log(v) ); //0 1 2 3