返回

前端面试必备:数组扁平化去重排序指南

前端

前言

在前端面试中,数组扁平化和去重排序是常见的考察点。本文将详细介绍如何使用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]

结语

数组扁平化、去重和排序是前端面试中常见的考察点。掌握这些技巧,将有助于您在前端面试中脱颖而出。