亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js 怎么將數組重組成新數組

js 怎么將數組重組成新數組

一只名叫tom的貓 2019-03-15 18:04:05
原數據結構:var res =[  0:{id: "1", letter: "D", name_cn: "大學名字"}  1:{id: "2", letter: "A", name_cn: "大學名字"}  2:{id: "3", letter: "C", name_cn: "大學名字"}  3:{id: "3", letter: "D", name_cn: "大學名字"} ]要實現的數據結構:            schoolList: [                 {                    letter: 'A',                    data: [                         {name_cn:'大學名字'},                         {name_cn:'大學名字'}                     ]                 },                 {                    letter: 'B',                    data: [                         {name_cn:'大學名字'}                         {name_cn:'大學名字'}                     ]                 },                 {                    letter: 'C',                    data: [                         {name_cn:'大學名字'}                         {name_cn:'大學名字'}                     ]                 }             ]怎么將res這個數組里面的letter,按照首字母分類。將首字母為一樣的全部重新組成新的數組,然后放在schoolList這個數組里面。
查看完整描述

2 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

暫時想到這種稍微復雜點的方法

var res =[
  {id: "1", letter: "D", name_cn: "大學名字5"},
  {id: "2", letter: "A", name_cn: "大學名字4"},
  {id: "4", letter: "C", name_cn: "大學名字3"},
  {id: "5", letter: "D", name_cn: "大學名字2"},
  {id: "6", letter: "C", name_cn: "大學名字1"},
  {id: "7", letter: "D", name_cn: "大學名字0"}
]

var op = [];
var middle = '';for (var i = 0; i < res.length; i++) {
    var value = res[i]['letter'];    if (middle.includes(value )) {
        var index = middle.indexOf(value);
        op[index]['data'].push(res[i]['name_cn']);
    } else {
        middle+=value;
        var a = { letter: value, data: [res[i]['name_cn']] };
        op.push(a);
    }
}


查看完整回答
反對 回復 2019-03-15
  • 2 回答
  • 0 關注
  • 1171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號