存在一个二维数组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)
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决