存在一个二维数组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)
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答1.9k 阅读
3 回答2.2k 阅读✓ 已解决
5 回答851 阅读
3 回答1.1k 阅读✓ 已解决