1. 程式人生 > 其它 >js 列表物件根據某一欄位分類

js 列表物件根據某一欄位分類

js 列表物件根據某一欄位分類

其實是這個意思,比如說我有一個列表,資料的樣子是下面的樣子,一個五種,分了兩類,食物和飲料。我們想把這五種東西按照類別進行分類,就可以使用這個方式。

 [{
	name: '蘋果',
	type: '食物',
	price: '3'
  },{
	name: '牛奶',
	type: '飲料',
	price: '2'
  },{
	name: '香蕉',
	type: '食物',
	price: '2'
  },{
	name: '果汁',
	type: '飲料',
	price: '3'
  },{
	name: '菠蘿',
	type: '食物',
	price: '4'
}]

直接上程式碼:

       // 資料分類  傳進要分類的資料列表
      dealWithData(data) {
        let c = [];
        let d = {};
        data.forEach(element => {
          if (!d[element.type]) {  // 按照type分類
            c.push({
              type: element.type,
              list: [element]
            });
            d[element.type] = element;
          } else {
            c.forEach(ele => {
              if (ele.type== element.type) {
                ele.list.push(element);
              }
            });
          }
        });
        return c;
      }

分完類之後就是 :

 [{
	type: '食物',
	list: [{
		name: '蘋果',
		type: '食物',
		price: '3'
  	 },{
		name: '香蕉',
		type: '食物',
		price: '2'
  	},{
		name: '菠蘿',
		type: '食物',
		price: '4'
	}]
  },{
	type: '飲料',
	list: [{
		name: '牛奶',
		type: '飲料',
		price: '2'
      },{
		name: '果汁',
		type: '飲料',
		price: '3'
  	  }]
  }]

就是這個樣子,其實還有更多的辦法,這是其中一個,其他的可以百度或者自己寫一下。

【版權宣告】本博文著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處!
【重要說明】本文為本菜鳥的學習記錄,論點和觀點僅代表個人不代表此技術的真理,目的是學習和可能成為向別人分享的經驗,因此有錯誤會虛心接受改正,但不代表此時博文無誤!
【部落格園地址】JayveeWong: http://www.cnblogs.com/wjw1014
【CSDN地址】JayveeWong: https://blog.csdn.net/weixin_42776111
【Gitee地址】Jayvee:https://gitee.com/wjw1014
【GitHub地址】Jayvee:https://github.com/wjw1014