返回
数组常考方法(forEach,map,reduce,filter)及面试技巧
前端
2023-09-20 07:21:38
数组方法经常被面试官考到。为了避免答案七零八落,总结了常考数组常考的forEach,map,reduce,filter。
forEach()
forEach() 方法对数组中的每个元素执行给定的函数。
语法:
arr.forEach(function(element, index, array) {
// 对每个元素执行的操作
});
参数:
- element:当前正在处理的元素。
- index:当前元素在数组中的索引。
- array:数组本身。
示例:
const arr = [1, 2, 3, 4, 5];
arr.forEach(function(element) {
console.log(element);
});
输出:
1
2
3
4
5
map()
map() 方法创建一个新数组,其中每个元素是通过对原始数组中的每个元素应用给定函数的结果。
语法:
arr.map(function(element, index, array) {
// 对每个元素执行的操作
});
参数:
- element:当前正在处理的元素。
- index:当前元素在数组中的索引。
- array:数组本身。
示例:
const arr = [1, 2, 3, 4, 5];
const newArr = arr.map(function(element) {
return element * 2;
});
console.log(newArr);
输出:
[2, 4, 6, 8, 10]
reduce()
reduce() 方法将数组中的所有元素缩减为一个单一值。
语法:
arr.reduce(function(accumulator, element, index, array) {
// 对每个元素执行的操作
return accumulator;
});
参数:
- accumulator:累加器,用于保存缩减的结果。
- element:当前正在处理的元素。
- index:当前元素在数组中的索引。
- array:数组本身。
示例:
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce(function(accumulator, element) {
return accumulator + element;
}, 0);
console.log(sum);
输出:
15
filter()
filter() 方法创建一个新数组,其中包含通过给定函数测试的原始数组的所有元素。
语法:
arr.filter(function(element, index, array) {
// 对每个元素执行的操作
return true;
});
参数:
- element:当前正在处理的元素。
- index:当前元素在数组中的索引。
- array:数组本身。
示例:
const arr = [1, 2, 3, 4, 5];
const evenArr = arr.filter(function(element) {
return element % 2 === 0;
});
console.log(evenArr);
输出:
[2, 4]
面试技巧
- 准备充分: 在面试前,一定要对数组方法有充分的了解。这包括它们的语法、参数和返回值。
- 理解面试官的问题: 在回答面试官的问题时,一定要理解他们问的是什么。如果不明确,可以要求他们澄清。
- 给出详细的答案: 在回答面试官的问题时,一定要给出详细的答案。这包括解释数组方法的语法、参数和返回值。
- 使用示例: 在回答面试官的问题时,可以使用示例来说明数组方法的用法。这将帮助面试官更好地理解您的答案。
- 保持自信: 在面试中,一定要保持自信。这将给面试官留下良好的印象。