JS数组中的find、filter、forEach、map

875 阅读1分钟

一、find

find()方法返回数组中符合条件的第一个元素,没有的话,返回undefined

let arr = [1,2,3,4,5,6,7];
let result = arr.find(function (item) {
  return item > 4;
} )
console.log(result);//5
console.log(arr);//[1,2,3,4,5,6,7]

二、filter

filter( )方法返回一个新数组,用来筛选数组中符合条件的所有元素,如果没有找到符号条件的,则返回一个空数组。

let arr = [1,2,3,4,5,6,7];
let result = arr.filter(function (item) {
  return item > 4;
} )
console.log(result);//[5,6,7]
console.log(arr);//[1,2,3,4,5,6,7]

三、forEach

forEach( )方法用来对数组中的每一个元素执行一次回调函数,但是没有返回值(或返回值时undefined,即使回调函数中写了return,返回值还是undefined);

forEach() 对于空数组是不会执行回调函数的。

let arr = [1,2,3,4,5,6,7];
let sum = 0;
let result = arr.forEach(function (item) {
   sum += item ;
} )
console.log(result);//undefined
console.log(arr);//[1,2,3,4,5,6,7]
console.log(sum);//28

四、map

map( )方法返回一个先数组,用来对数组中的元素通过回调函数进行过滤和处理,把处理后的结果放在一个新数组返回(如果没有返回值,新数组的每一个元素都为undefined);

let arr = [1,2,3,4,5,6,7];
let result = arr.map(function (item) {
  return item*2;
} )
console.log(result);//[2,4,6,8,10.12.14]
console.log(arr);//[1,2,3,4,5,6,7]