我有一个像下面这样的对象
var obj = [
{ name : ["a", "x", "1"] , d : [1,2,3] },
{ name : ["a", "x", "2"] , d : [1,2,3] },
{ name : ["a", "y", "3"] , d : [1,2,3] },
{ name : ["a", "y", "4"] , d : [1,2,3] },
{ name : ["a", "z", "5"] , d : [1,2,3] },
{ name : ["a", "z", "6"] , d : [1,2,3] },
{ name : ["b", "x", "7"] , d : [1,2,3] },
{ name : ["b", "x", "9"] , d : [1,2,3] }
];
上面name
的数组长度可以是任何..我需要像下面这样对数组进行分组
formatted = {
a : {
x : {
1 : [1,2,3],
2 : [1,2,3]
},
y : {
3 : [1,2,3],
4 : [1,2,3]
},
z : {
5 : [1,2,3],
6 : [1,2,3]
}
},
b : {
x : {
7 : [1,2,3],
8 : [1,2,3]
}
}
}
有没有可用的算法。请帮我实现这个逻辑。