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'
  	  }]
  }]
 
         
         
        就是這個樣子,其實還有更多的辦法,這是其中一個,其他的可以百度或者自己寫一下。
