js json解析并重组成二维数组

原始json:arr=[{a:1},{a:2},{a:3},{b:5},{b:7},{b:10}]解析重组后:newArr=[[{a:1},{b:5}],[{a:2},{... 原始json:arr = [{a:1},{a:2},{a:3},{b:5},{b:7},{b:10}]
解析重组后:newArr = [[{a:1},{b:5}],[{a:2},{b:7}],[{a:3},{b:10}]]

需要兼顾可扩展性,也就是说 arr数据也可能是这样的[{a:1},{a:2},{a:3},{a:4},{b:5},{b:7},{b:10},{b:12},{c:"11"},{c:"22"},{c:"33"},{c:"44"}],重组类似上面的newArr结构。
请问怎么样解析重组这样的格式?
是前端解析,不是后台。
展开
 我来答
网海1书生
科技发烧友

2018-09-28 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12310 获赞数:26223

向TA提问 私信TA
展开全部
var arr = [{a:1},{a:2},{a:3},{b:5},{b:7},{b:10}];
var newArr = [];
arr.map(e=>Object.keys(e)[0]).filter((e,i,o)=>o.indexOf(e)===i).map(e=>{
   arr.filter((e1,i)=>Object.keys(e1)==e).forEach((e,i)=>{
      if(!newArr[i])newArr[i]=[];
      newArr[i].push(e);
   });
});
console.log(newArr);
折柳成萌
高粉答主

2018-09-28 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:5839万
展开全部
用StringBuffer啊! StringBuffer sf=new StringBuffer();
sf.append('[');
sf.append(jsonData);
sf.append(']');
这样组合一下。当然前台js里面是不能用StringBuffer sf=new StringBuffer();的 你可以在后台直接就转成[{ month:12, day:24},{ month:12, day:25 },{ month:12, day:31 }]样式的!这样的另一个好处就是前台只专注于处理前台本身的事情了。数据什么的后台全搞好了干干净净传前面去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式