데이터 구조
interface Data {
value: any;
children?: Array<Data>;
}
const data: Data[] = [
{
value:"A"
cildren:[
{
value:"a"
children:[
{
value:"가"
},
{
value:"나"
},
{
value:"다"
},
]
},
]
}
]
계산식
function calcDepth(options: Data[]) : number{
const depthest = Math.max(...arrDepth(options), 0);
return depthest;
function arrDepth(options: Data[]) : number[]{
const result: number[] = [];
aDepth(0, options, result);
return result;
}
function aDepth(d: number, array: Data[], result: number[]) {
d++;
result.push(d);
for (let i = 0; i < array.length; i++) {
const e = array[i];
if (e.children) {
aDepth(d, e.children, result);
}
}
}
}
'front > 기타' 카테고리의 다른 글
[rollup.js]Introduction (0) | 2022.07.27 |
---|---|
인터페이스 개발 (0) | 2022.07.22 |
비폭력대화 NVC (0) | 2022.05.16 |
[The Basics] Types for Tooling (0) | 2022.05.13 |
[The Basics] Static type-checking (0) | 2022.05.11 |
댓글