【求助】一维度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);


...全文
495 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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);

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧