推荐答案
// www.javascriptcn.com code example
// includes 方法用于判断数组是否包含某个元素,返回布尔值
const array = [1, 2, 3, 4, 5];
console.log(array.includes(3)); // true
console.log(array.includes(6)); // false
// flat 方法用于将嵌套数组“拉平”,返回一个新数组
const nestedArray = [1, [2, [3, [4]]]];
console.log(nestedArray.flat()); // [1, 2, [3, [4]]]
console.log(nestedArray.flat(2)); // [1, 2, 3, [4]]
console.log(nestedArray.flat(Infinity)); // [1, 2, 3, 4]
// flatMap 方法先对数组中的每个元素执行映射函数,然后将结果“拉平”一层,返回一个新数组
const array2 = [1, 2, 3];
console.log(array2.flatMap(x => [x * 2])); // [2, 4, 6]
console.log(array2.flatMap(x => [[x * 2]])); // [[2], [4], [6]]
本题详细解读
includes 方法
- 功能:
includes 方法用于判断数组是否包含某个元素,返回一个布尔值。
- 语法:
array.includes(searchElement, fromIndex)
searchElement:要查找的元素。
fromIndex(可选):从哪个索引开始查找,默认为 0。
- 返回值:如果数组包含该元素,返回
true,否则返回 false。
- 注意:
includes 方法使用严格相等(===)进行比较。
flat 方法
- 功能:
flat 方法用于将嵌套数组“拉平”,返回一个新数组。
- 语法:
array.flat(depth)
depth(可选):指定要拉平的嵌套层数,默认为 1。可以使用 Infinity 来拉平所有嵌套层。
- 返回值:返回一个新数组,原数组不会被修改。
- 注意:
flat 方法不会改变原数组,而是返回一个新数组。
flatMap 方法
- 功能:
flatMap 方法先对数组中的每个元素执行映射函数,然后将结果“拉平”一层,返回一个新数组。
- 语法:
array.flatMap(callback, thisArg)
callback:映射函数,接收当前元素、索引和原数组作为参数。
thisArg(可选):执行 callback 时使用的 this 值。
- 返回值:返回一个新数组,原数组不会被修改。
- 注意:
flatMap 方法相当于 map 和 flat 的结合,但只能拉平一层。