【求助】一维度json数组拆分为多维json数组

pipilang3220119 2018-05-30 10:52:46
需求是:根据json的tier值把一维度json数组拆分为多维json数组,而且结果必须是在同一个数组中。

下面已经实现了一个手动版的,但是实际情况要复杂得很多,也许tier的值有1,2,3,4,5,.......不定,有或者只有1,所以用手动的方式肯定不科学,希望各位能指导给出一个解决方案,越完美越好!谢谢!




var data = [{
"title": "机构名称",
"tier": "2",
}, {
"title": "姓名",
"tier": "2",
}, {
"title": "身份证号",
"tier": "1",
}, {
"title": "身份证地址",
"tier": "1",

}, {
"title": "联系电话",
"tier": "1",
}, {
"title": "备注",
"tier": "1",

}]

var newdata=[];
newdata[0] = [];
newdata[1] = [];
$.each(data,function(k,v){
if(v.tier == 1){
newdata[0].push(v);
}
if(v.tier == 2){
newdata[1].push(v);
}
});

console.log(newdata);


...全文
415 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pipilang3220119 2018-05-31
引用 1 楼 Free_Wind22 的回复:

var newdata = [];
for(var i = 0; i < data.length; i++){
	var n = parseInt(data[i].tier, 10) - 1;
	if (typeof newdata[n] == 'undefined'){
		newdata[n] = [];
	}
	newdata[n].push(data[i]);
}
console.log(newdata);
引用 1 楼 Free_Wind22 的回复:

var newdata = [];
for(var i = 0; i < data.length; i++){
	var n = parseInt(data[i].tier, 10) - 1;
	if (typeof newdata[n] == 'undefined'){
		newdata[n] = [];
	}
	newdata[n].push(data[i]);
}
console.log(newdata);
谢谢!
回复
2018-05-30

var newdata = [];
for(var i = 0; i < data.length; i++){
	var n = parseInt(data[i].tier, 10) - 1;
	if (typeof newdata[n] == 'undefined'){
		newdata[n] = [];
	}
	newdata[n].push(data[i]);
}
console.log(newdata);
回复
相关推荐
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2018-05-30 10:52
社区公告
暂无公告