返回
前端面试必备:数组扁平化去重排序指南
前端
2023-11-02 15:40:43
前言
在前端面试中,数组扁平化和去重排序是常见的考察点。本文将详细介绍如何使用JavaScript实现数组扁平化和去重排序,并提供示例代码和详细解释。掌握这些技巧,将有助于您在前端面试中脱颖而出。
一、数组扁平化
数组扁平化是指将多维数组转换为一维数组的过程。在JavaScript中,可以使用以下方法实现数组扁平化:
const flatten = (arr) => {
return arr.reduce((acc, val) => acc.concat(Array.isArray(val) ? flatten(val) : val), []);
};
示例:
const arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const flattenedArr = flatten(arr);
console.log(flattenedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
二、数组去重
数组去重是指从数组中删除重复元素的过程。在JavaScript中,可以使用以下方法实现数组去重:
const unique = (arr) => {
return [...new Set(arr)];
};
示例:
const arr = [1, 2, 3, 4, 5, 1, 2, 3];
const uniqueArr = unique(arr);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
三、数组排序
数组排序是指将数组中的元素按照一定规则重新排列的过程。在JavaScript中,可以使用以下方法实现数组排序:
const sort = (arr) => {
return arr.sort((a, b) => a - b);
};
示例:
const arr = [5, 3, 1, 2, 4];
const sortedArr = sort(arr);
console.log(sortedArr); // [1, 2, 3, 4, 5]
综合示例
将数组扁平化、去重并排序:
const flattenUniqueSort = (arr) => {
return [...new Set(arr.flat())].sort((a, b) => a - b);
};
示例:
const arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], 1, 2, 3];
const flattenedUniqueSortedArr = flattenUniqueSort(arr);
console.log(flattenedUniqueSortedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
结语
数组扁平化、去重和排序是前端面试中常见的考察点。掌握这些技巧,将有助于您在前端面试中脱颖而出。