我有一个深度最多为 3 的对象:
OBJ.T.V.E={...}
T 和 V 是整数(如 OBJ[0][1]['String']={...} ),因此典型的结构可能是:
OBJ[0][0]['S1']={..}
OBJ[0][0]['S2']={..}
OBJ[0][1]['S1']={..}
OBJ[0][2]['S1']={..}
我想重新排列并以某种方式得到这个:
OBJNEW['S1'][0][0]={...}
这将具有与 in 相同的值OBJ[0][0]['S1']
我挣扎了几个小时没有运气。有任何想法吗?也欢迎使用 Jquery 代码。
编辑:现在我尝试创建一个这样的对象数组:
OBJ2=[];
$.each(OBJ, function(name, value) {
$(value).each(OBJ, function(name1, value1) {
OBJ2[name1]=[];
$(value1).each(OBJ, function(name2, value2) {
OBJ2[name1][name2]={};
OBJ2[name1][name2]['S1']={};
})
})
但是这一步失败了,因为每个 ...['S1'] 赋值都会覆盖前一个对象(例如 S2)。
请忽略任何错别字,我刚刚重新创建了逻辑。