为了账号安全,请及时绑定邮箱和手机立即绑定

一个json对象如何把key换成二位数组的值?十分感谢

一个json对象如何把key换成二位数组的值?十分感谢

HUWWW 2019-10-08 12:36:56
constarr=[[1,2],[3,4]]constjson={a:{xx:5,yy:6},b:{...}}//把json的第二级的key换成二维数组的值,第一级json.a对应arr[0]//json第一级数量和arr长度相等的主要是换第二级的key//结果如下json={a:{1:5,2:6},}
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

console.log(arr.reduce((temp,item,index,arr)=>{
Object.keys(json).forEach((k1,i1)=>{
if(!temp[k1])temp[k1]={}
Object.keys(json[k1]).forEach((k2,i2)=>{
!temp[k1][arr[i1][i2]]?temp[k1][arr[i1][i2]]=json[k1][k2]:null
})
})
returntemp
},{}))
                            
查看完整回答
反对 回复 2019-10-08
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

functiontransform(obj,arr){
if(obj&&typeofobj==="object"&&Array.isArray(arr)){
vari=0;
for(varkeyinobj){
if(i===arr.length)break;
varval=obj[key],item=arr[i++],j=0;
for(var_keyinval){
if(j===item.length)break;
val[item[j++]]=val[_key];
deleteval[_key];
}
}
}
returnobj;
}
console.log(transform(json,arr));
                            
查看完整回答
反对 回复 2019-10-08
  • 2 回答
  • 0 关注
  • 339 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信