拼多多,前端笔试编程题
数据转换:obj转换为obj2
var obj = [ {id:1,name:"a",parent:null}, {id:2,name:"b",parent:1}, {id:3,name:"c",parent:2}]; var obj2={ {id:1, name:"a", child:{ id:2, name:"b", child:{ id:3, name:"c" } } } }
python解法如下:
obj=[{id:1,'parent':'null'},{id:2,'parent':1},{id:3,'parent':2}];
obj2={};
for i in range(len(obj)):
index=obj[i][id];
for j in range(len(obj)):
if obj[j]['parent']==index:
obj[i]['child']=obj[j][id];
break
elif j==len(obj)-1:
obj[i]['child'] = 'null';
def change(x,obj):
x1={};
x1[id]=x[id];
x1['parent']=x['parent'];
index=-999
for i in range(len(obj)):
if obj[i][id]==x['child']:
index=i
if index !=-999:
x1['child'] = change(obj[index],obj);
else:
return x1
return x1
obj2['obj']=change(obj[0],obj)
print(obj2)