every
接收一个方法,该方法可传入三个参数,第一个为数组的一个元素,第二位为该元素的下标,第三个为原数组。
遍历数组并使用传入参数方法,如果参数方法返回值为true,则继续循环,如果参数方法返回值为false,则终止循环,every方法返回false。如果遍历结束且参数方法返回值全部为true,则every方法返回true。
var arr = [0,1,2,3];
var gt0 = arr.every( (v,i) => (v > 0) ); //gt0为false
some
接收一个方法,该方法可传入三个参数,第一个为数组的一个元素,第二位为该元素的下标,第三个为原数组。
遍历数组并使用传入参数方法,如果参数方法返回值为false,则继续循环,如果参数方法返回值为true,则终止循环,some方法返回true。如果遍历结束且参数方法返回值全部为false,则some方法返回false。
var arr = [0,1,2,3];
var gt0 = arr.some( (v,i) => (v > 0) ); //gt0为true
find
接收一个方法,该方法可传入三个参数,第一个为数组的一个元素,第二位为该元素的下标,第三个为原数组。
遍历数组并使用传入参数方法,如果参数方法返回值为false,则继续循环,如果参数方法返回值为true,则终止循环,find方法返回参数方法执行返回值为true的第一个元素的值。如果遍历结束且参数方法返回值全部为false,则find方法返回undefined。
var arr = [0,1,2,3];
var gt0 = arr.find( (v,i) => (v > 0) ); //gt0为1
filter
接收一个方法,该方法可传入三个参数,第一个为数组的一个元素,第二位为该元素的下标,第三个为原数组。
遍历数组并使用传入参数方法,返回一个由参数方法返回值为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
数组 reduce 方法