存在一个二维数组const a = [{mac: 11, children: [{mac: 2}]}, {mac: 12, children: [{mac: 3}]}]
如何快速统计出mac的所有取值并返回一个数组[11, 2, 12, 3]
?,顺序没有要求,不使用解构语法
存在一个二维数组const a = [{mac: 11, children: [{mac: 2}]}, {mac: 12, children: [{mac: 3}]}]
如何快速统计出mac的所有取值并返回一个数组[11, 2, 12, 3]
?,顺序没有要求,不使用解构语法
type RecurMapResult<T> = [T, RecurMapResult<T>][]
function recurMap<T, R>(source: T[], next: (x: T) => T[], callbackfn: (x: T) => R): RecurMapResult<R> {
return source.map(x => [callbackfn(x), recurMap(next(x), next, callbackfn)])
}
const a = [{ mac: 11, children: [{ mac: 2 }] }, { mac: 12, children: [{ mac: 3 }] }]
const result = recurMap(a, x => x.children as any ?? [], x => x.mac).flat(10)
console.log(result)
8 回答4.7k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决