第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

按類別排列的產(chǎn)品陣列

按類別排列的產(chǎn)品陣列

我正在嘗試按類別排列這一系列產(chǎn)品?,F(xiàn)在,我得到了每個類別的計數(shù),但我不知道如何制作這個二維數(shù)組輸出。let products = [  {name: 'Tequila', category: 'drink'},   {name: 'Beer', category: 'drink'},   {name: 'Burger', category: 'food'},  {name: 'Shawarma', category: 'food'},   {name: 'Wine', category: 'drink'},  {name: 'Gelatto', category: 'dessert'}];/*expected ouputlet arranged = [[  {name: 'Tequila', category: 'drink'},   {name: 'Beer', category: 'drink'},  {name: 'Wine', category: 'drink'}], [  {name: 'Burger', category: 'food'},  {name: 'Shawarma', category: 'food'}], [  {name: 'Gelatto', category: 'dessert'}]];*/這是我現(xiàn)在的代碼:let products = [  {name: 'Tequila', category: 'drink'},   {name: 'Beer', category: 'drink'},   {name: 'Burger', category: 'food'},  {name: 'Shawarma', category: 'food'},   {name: 'Wine', category: 'drink'},  {name: 'Gelatto', category: 'dessert'}];let arranged = {};products.map(x => arranged[x.category] = 1 + (arranged[x.category] || 0));console.log(arranged);
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

您可以通過使用對象存儲屬于每個類別的元素來減少數(shù)組來對元素進行分組。要獲得分組的類別,我們可以使用Object.values.


let products = [{name: 'Tequila', category: 'drink'}, 

{name: 'Beer', category: 'drink'}, 

{name: 'Burger', category: 'food'},

{name: 'Shawarma', category: 'food'}, 

{name: 'Wine', category: 'drink'},

{name: 'Gelatto', category: 'dessert'}];

const res = Object.values(

  products.reduce((acc,curr)=>(

    (acc[curr.category] = acc[curr.category] || []).push(curr), acc

  ), {})

);

console.log(res);


查看完整回答
反對 回復(fù) 2023-01-06
?
桃花長相依

TA貢獻1860條經(jīng)驗 獲得超8個贊

試試這個。我正在使用Array.prototype.reduce()按類別鍵對數(shù)組中的對象進行分組,然后您可以獲得所需的數(shù)據(jù)Object.values()

let products = [{

    name: 'Tequila',

    category: 'drink'

  },

  {

    name: 'Beer',

    category: 'drink'

  },

  {

    name: 'Burger',

    category: 'food'

  },

  {

    name: 'Shawarma',

    category: 'food'

  },

  {

    name: 'Wine',

    category: 'drink'

  },

  {

    name: 'Gelatto',

    category: 'dessert'

  }

];




let group = products.reduce((r, a) => {



  r[a.category] = [...r[a.category] || [], a];

  return r;

}, {});

console.log(Object.values(group));





查看完整回答
反對 回復(fù) 2023-01-06
?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

我使用 reducer 遍歷數(shù)組。為了構(gòu)建組,我使用存儲類別的索引數(shù)組。在添加新項目之前,我會查看此數(shù)組中是否存在該類別。如果是這樣,我獲取索引并將該項目添加到該索引組。否則,我會創(chuàng)建一個新的組數(shù)組來添加該項目。


let products = [{name: 'Tequila', category: 'drink'}, 

{name: 'Beer', category: 'drink'}, 

{name: 'Burger', category: 'food'},

{name: 'Shawarma', category: 'food'}, 

{name: 'Wine', category: 'drink'},

{name: 'Gelatto', category: 'dessert'}];


let categories=[];

let res = products.reduce((new_object, current_item) => {

    index = categories.indexOf(current_item.category);


    if (index==-1) {

        categories.push(current_item.category)

        new_object.push([current_item]);

    } else {

        new_object[index].push(current_item);

    }

    return new_object;

}, []);


console.log(res);


查看完整回答
反對 回復(fù) 2023-01-06
  • 3 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號