前端面试题 - 98. 三维数组的打平、排序和去重

462 阅读1分钟
const input = [1, 11, [2, [4, 3], 'a'], '8', 2];

// 打平函数
const flattenArray = (arr) 
    => arr.reduce((acc, val) 
        => Array.isArray(val) 
            ? acc.concat(flattenArray(val)) 
            : acc.concat(val), []);

// 去重并排序函数
const removeDuplicatesAndSort = (arr) 
    => [...new Set(arr)].sort((a, b) => a - b);

const result = removeDuplicatesAndSort(flattenArray(input));

console.log(result); // [1, 2, 3, 4, 8, 11]