Javascript 具有动态嵌套关键帧的对象

Javascript 具有动态嵌套关键帧的对象,javascript,Javascript,有一个数组 let arr = [ ['one','apple','acid','Lorem1'], ['one','strawberry','sugar','Lorem2'], ['two','melon','water','Lorem3'], ['two','melon','sugar','Lorem4'], ['three','cow','meat','Lorem5'], ['three','peeg','meat','Lorem6'] ];

有一个数组

let arr = [
    ['one','apple','acid','Lorem1'],
    ['one','strawberry','sugar','Lorem2'],
    ['two','melon','water','Lorem3'],
    ['two','melon','sugar','Lorem4'],
    ['three','cow','meat','Lorem5'],
    ['three','peeg','meat','Lorem6']
];
有必要将其转化为以下对象:

   let obj = {
        one:{
            apple:{
                acid:{
                    title:'Lorem1'
                }
            },
            strawberry:{
                sugar:{
                    title:'Lorem2'
                }
            }
        },
        two:{
            melon:{
                water:{
                    title:'Lorem3'
                },
                sugar:{
                    title:'Lorem4'
                }
            }
        },
        three:{
            cow:{
                meat:{
                    title:'Lorem5'
                }
            },
            peeg:{
                meat:{
                    title:'Lorem6'


     }
        }
    }
}
我尝试过,但此逐出键未定义:

for( row = 1; row<arr.length; row++ ) {
    obj[arr[0]][arr[1]][arr[2]]={
        title:arr[3]
    };
}

for(row=1;row您的代码不起作用,因为javascript在使用
obj[attr]
syntex时不会自动创建空对象,您应该自己创建它

让arr=[
['one'、'apple'、'acid'、'Lorem1'],
['one'、'草莓'、'sugar'、'Lorem2'],
[‘两个’、‘瓜’、‘水’、‘菜’],
['two'、'humber'、'sugar'、'Lorem4'],
['three'、'cow'、'meat'、'Lorem5'],
];
设obj={}
for(让arr的属性){
让电流=obj;

对于(i=0;ii)如果您可以使用LoDash库,它的方法可以为您完成这项工作。如果您需要自己实现它,那么您可以看看它是如何实现的。