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

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

在對象數(shù)組中按特定鍵計(jì)算分組值

在對象數(shù)組中按特定鍵計(jì)算分組值

holdtom 2022-12-02 17:08:15
我有以下數(shù)據(jù):const data2 = [{  App: "testa.com",  Name: "TEST A",  Category: "HR",   Employees: 7},{  App: "testd.com",  Name: "TEST D",  Category: "DevOps",   Employees: 7},{  App: "teste.com",  Name: "TEST E",  Category: "DevOps",   Employees: 7},{  App: "testf.com",  Name: "TEST F",  Category: "Business",   Employees: 7}]我想獲得不同類別的數(shù)量:現(xiàn)在我正在獲得所有不同類別的列表,但我無法計(jì)算它們的數(shù)量。以下片段給我不同的類別:  let uniqueCategory = [];  for(let i = 0; i < result.data.length; i++){          if(uniqueCategory.indexOf(result.data[i].Category) === -1){        uniqueCategory.push(result.data[i].Category);              }          }我應(yīng)該進(jìn)行哪些更改才能獲得這些類別的計(jì)數(shù)uniqueCategory- 如下所示:uniqueCategory = [  {Category: "DevOps", count: 5},  {Category: "Business", count: 4},  ....  {}]
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個贊

您的方法意味著在-loop.indexOf()的每次迭代中循環(huán)您的源數(shù)組(使用)。for(..這將減慢不必要的查找過程。

相反,您可以使用Array.prototype.reduce()遍歷源數(shù)組并構(gòu)建 ,將Map所需Category格式的鍵和對象作為值,然后提取Map.prototype.values()到結(jié)果數(shù)組中。

這將執(zhí)行得更快并且擴(kuò)展性更好。

const src = [{App:"testa.com",Name:"TEST A",Category:"HR",Employees:7},{App:"testd.com",Name:"TEST D",Category:"DevOps",Employees:7},{App:"teste.com",Name:"TEST E",Category:"DevOps",Employees:7},{App:"testf.com",Name:"TEST F",Category:"Business",Employees:7}],


      result = [...src

        .reduce((r, {Category}) => {

          const cat = r.get(Category)

          cat ? cat.count ++ : r.set(Category, {Category, count: 1})

          return r

        }, new Map)

        .values()

      ]

    

console.log(result)

.as-console-wrapper{min-height:100%;}


查看完整回答
反對 回復(fù) 2022-12-02
?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個贊

最簡單的方法是使用Array.prototype.reduce


const arr = [ ... ];

const output = arr.reduce((result, obj) => {

  if (!result[obj.category]) {

    result[obj.category] = 0;

  }


  result[obj.category]++;


  return result;

}, {});

console.log(output); // this should log the similar output you want


查看完整回答
反對 回復(fù) 2022-12-02
?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個贊

.map這是使用and的另一種選擇Set:


const src = [

{

  App: "testa.com",

  Name: "TEST A",

  Category: "HR", 

  Employees: 7

},

{

  App: "testd.com",

  Name: "TEST D",

  Category: "DevOps", 

  Employees: 7

},

{

  App: "teste.com",

  Name: "TEST E",

  Category: "DevOps", 

  Employees: 7

},

{

  App: "testf.com",

  Name: "TEST F",

  Category: "Business", 

  Employees: 7

}

];


const categories = src.map(obj => obj.Category);

const distinctCategories = [...new Set(categories)];

console.log(distinctCategories.length);


查看完整回答
反對 回復(fù) 2022-12-02
  • 3 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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