文章 评论 浏览 29
写一个不用flat函数的吧。采用递归解决这个问题const flat = (arr: (number | any[])[]): number[] => {return _flat(arr, 0, arr.length - 1)}
const _flat = (arr: (number | any[])[], l: number, r: number): number[] => {if (l > r) return []const first = arr[l]if (typeof first === 'number') {return [...new Set(_flat(arr, l + 1, r).concat(first))].sort((a, b) => a - b)}return [...new Set([..._flat(first, 0, first.length - 1), ..._flat(arr, l + 1, r)])].sort((a, b) => a - b)}
文章 0 评论 0
接受
写一个不用flat函数的吧。采用递归解决这个问题
const flat = (arr: (number | any[])[]): number[] => {
return _flat(arr, 0, arr.length - 1)
}
const _flat = (arr: (number | any[])[], l: number, r: number): number[] => {
if (l > r) return []
const first = arr[l]
if (typeof first === 'number') {
return [...new Set(_flat(arr, l + 1, r).concat(first))].sort((a, b) => a - b)
}
return [...new Set([..._flat(first, 0, first.length - 1), ..._flat(arr, l + 1, r)])].sort((a, b) => a - b)
}
第 11 题:将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组