1.filter(返回的是满足表达式的项,可以return)
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
1).forEach方法用来调用数组的每个元素,将元素传给回调函数
2).forEach对于空数组是不会调用回调函数的。 无论arr是不是空数组,forEach返回的都是undefined。这个方法只是将数组中的每一项作为callback的参数执行一次。
2.forEach(不能return)
const array1 = ['a', 'b', 'c'];
array1.forEach(element => console.log(element));
3.map(可以return,可以直接返回想要的数据, 创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回)
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// expected output: Array [2, 8, 18, 32]
1).map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。
2).map方法不会对空数组进行检测,map方法不会改变原始数组。
3). 若arr为空数组,则map方法返回的也是一个空数组。
4.reduce
const array1 = [1, 2, 3, 4]; const reducer = (accumulator, currentValue) => accumulator + currentValue; // 1 + 2 + 3 + 4 console.log(array1.reduce(reducer)); //expected output: 10 // 5 + 1 + 2 + 3 + 4 console.log(array1.reduce(reducer, 5));// expected output: 15
5.every(检测一个数组的所有元素是否都能通过制定函数的测试,返回一个boolean值,空数组的话会返回true)
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));// expected output: true
6.find(返回数组中满足提供的测试函数的第一个元素的值)
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(element => element > 10);
console.log(found);
// expected output: 12
7.some(测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。)
const array = [1, 2, 3, 4, 5];
// checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// expected output: true