数组的方法比较

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

你可能感兴趣的:(数组的方法比较)