js语法:json数据格式转化

前端之家收集整理的这篇文章主要介绍了js语法:json数据格式转化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

json数据格式转化

应用实践能加深对函数接口的理解。

数组如同 星星点点的数据。
对象将它们规整。建立索引关系。

reduce就是两者桥梁(字符串数组,split,join就是桥梁)

map() 是处理变量内部数据转化的。

let arr = [{
    'name': 'level-1','value': 'eve-1','id': 'id-1','parentId': null
},{
    'name': 'level-2','value': 'eve-2','id': 'id-2','parentId': 'id-1'
},{
    'name': 'level-3','value': 'eve-3','id': 'id-3','parentId': 'id-2'
},'value': 'eve-4','id': 'id-4','value': 'eve-5','id': 'id-5','parentId': 'id-4'
}];

let result = arr.reduce(function (prev,item) {
const insert = {
name: item.name,value: item.value,id: item.id
};

prev[item.parentId] ? prev[item.parentId].push(insert) : prev[item.parentId] = [insert];
return prev;

},{});

for (var key in result) {
result[key].forEach(function (item,index) {
result[item.id] ? item.children = result[item.id] : ''
});
}

console.log(JSON.stringify(result[null]));

猜你在找的Json相关文章