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库,它的方法可以为您完成这项工作。如果您需要自己实现它,那么您可以看看它是如何实现的。