일반적인 문제이지만 원하는 결과를 얻을 수있는 단서를 찾지 못했습니다. 그래서 여기에 문제가 있습니다. 다음 배열이 있습니다.
[
[ 'a' ]
[ 'a', 'b' ]
[ 'a', 'c' ]
[ 'a', 'c', 'd' ]
[ 'a', 'c', 'd', 'e' ]
]
그리고 최종 결과로 원하는 것은 다음과 같은 객체입니다.
{
a: {
b: {},
c: { d: { e: {} } }
}
}
이 결과를 얻는 데 어떤 접근 방식이 더 좋을지 그리고 그것을 달성하는 방법을 이해하지 못합니다.
이중 감소가 필요합니다. 하나는 외부 배열 용이고 다른 하나는 키 및 중첩 객체 용입니다.
var data = [['a'], ['a', 'b'], ['a', 'c'], ['a', 'c', 'd'], ['a', 'c', 'd', 'e']],
result = data.reduce((r, keys) => {
keys.reduce((o, k) => o[k] = o[k] || {}, r);
return r;
}, {});
console.log(result);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다