자바 스크립트를 사용하여 중첩 배열에서 중첩 개체를 생성하려고합니다. 그러나 지금까지 성공할 수 없습니다.
아래는 배열 예입니다.
let arr = [
'25',
'25_29',
'25_28',
'25_28_35',
'25_28_35_36',
'20',
'20_27',
'20_26',
'18',
'18_48',
'59',
'34'
];
아래는 개체 예입니다.
let Obj = {
25: {
key: 25,
child: {
29: {
key: 29, child: {}
},
28: {
key: 28,
child: {
key: 35,
child: {
key: 36,
child: {}
}
}
}
}
},
20: {
key: 20,
child: {
27: {
key: 27,
child: {}
},
26: {
key: 26,
child: {}
}
}
}
}
똑같이 할 가능성이 있습니까?
경로를 분할하고 키를 줄일 수 있습니다.
var array = ['25', '25_29', '25_28', '25_28_35', '25_28_35_36', '20', '20_27', '20_26', '18', '18_48', '59', '34'],
result = array.reduce((r, s) => {
s.split('_').reduce((o, key) => (o[key] = o[key] || { key, child: {} }).child, r);
return r;
}, {});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다