let narr = arr => arr.map(item=>({
label:item.label,
value:item.id,
children:item.children ? narr(item.children) : []
}))
console.log(narr(arr));
js 修改多维数组对象属性名
let narr=JSON.parse(JSON.stringify(arr).replace(/id/g, 'value'))
console.log(narr);
JSON.parse(JSON.stringify(data).replace(/name/g, 'new_name')) //data为数组,name为修改前,new_name为修改后
解释:1)JSON.stringify()把json对象转成json字符串;
2)使用正则的replace()方法替换属性名;
3)JSON.parse()把json字符串又转成json对象。
修改多个属性:当要修改多个属性名时,多次调用replace方法,可以链式调用。如下面说明
JSON.parse(JSON.stringify(data).replace(/name1/g, 'new_name1').replace(/name2/g, 'new_name2').replace(/name3/g, 'new_name3')...)
(完)
本文链接:https://www.ngui.cc/el/808117.html