Iは、次のようないくつかの配列を有する:アレイによれば、ネストされた特性を有するオブジェクトに配列を変換
{
businessOpenAccount: {
'accountSettings1.page.js': {},
'accountSettings2.page.js': {}
},
mainTest: {
test: {
'test1.page.js': {},
'test2.page.js': {}
}
}
}
:
[ 'businessOpenAccount', 'accountSettings1.page.js' ]
[ 'businessOpenAccount', 'accountSettings2.page.js' ]
[ 'mainTest', 'test', 'test1.page.js' ]
[ 'mainTest', 'test', 'test2.page.js' ]
私の期待される結果は、このようにオブジェクトを有することであるが実際には、配列を解析して戻すネストされたオブジェクトを作成したいが、プロパティが既に存在する場合(前の配列から定義されているため)、それをオーバーライドするのではなく、ネストの正しい順序を尊重して、その中のプロパティ。
私はreduce
、reduceRight
を使用して、いくつかのアプローチでシンプルなforEach
/for
ループを試してみましたが、私はまだ本当に私は希望のソリューションを実現することはできません。
お願いします。
これは私がこれまで持っている最良の方法ですが、私は複数のアレイ(単一の配列との一例)上でサイクリングプロパティをオーバーライドします。
const relevantFilePath = ['businessOpenAccount', 'accountSettings.page.js'];
let obj = {};
relevantFilePath.forEach((el, ind) => {
if (ind === 0) {
obj[el] = {};
previousEl = obj[el];
} else {
previousEl[el] = {};
previousEl = previousEl[el];
}
});
console.log(obj);
私は親切に私は本当にあなたを愛していると言う場合、私は失礼ですか?感謝万円! – quirimmo