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

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

查找對象屬性值在數(shù)組中出現(xiàn)的次數(shù)

查找對象屬性值在數(shù)組中出現(xiàn)的次數(shù)

蕭十郎 2022-12-02 16:47:42
我有一個數(shù)組const arr = [{    name:'john',    class:'tenth'},{    name:'josh',    class:'ninth'},{    name:'ajay',    class:'tenth'}]如何找出數(shù)組中第九次和第十次出現(xiàn)的次數(shù)。但是通過使用單個函數(shù),我可以獲得每個班級學生的數(shù)據并在我的頁面加載時顯示。例如。:X- 2IX- 1 XII- 9ETC
查看完整描述

5 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

示例如下


const arr = [

  {

    name:'john',

    class:'tenth'

  },

  {

    name:'josh',

    class:'ninth'

  },

  {

    name:'ajay',

    class:'tenth'

  }

];


// Create function to return number of matched classes

// *** We can't use word `class` as function parameter,

// so we use `cls` here

const getClass = (cls) => {

  // Match var

  let mTimes = 0;

  // Loop arr

  for(let i = 0; i < arr.length; i++) {

    // If matches request, count

    if(arr[i].class === cls) mTimes++;

  }

  return mTimes;

}


// Use

console.log(getClass('tenth'));


查看完整回答
反對 回復 2022-12-02
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

這是你想要的:


const arr = [{

    name: 'john',

    class: 'tenth'

},

{

    name: 'josh',

    class: 'ninth'

},

{

    name: 'ajay',

    class: 'tenth'

}

];


console.log([...arr.reduce((a, c) => {

    if (a.has(c.class)) {

        a.get(c.class).count++;

    } else {

        a.set(c.class, { class: c.class, count: 1 });

    }

    return a;

}, new Map()).values()]);


查看完整回答
反對 回復 2022-12-02
?
RISEBY

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

數(shù)組.prototype.reduce

const arr = [{

    name: 'john',

    className: 'tenth'

  },

  {

    name: 'josh',

    className: 'ninth'

  },

  {

    name: 'ajay',

    className: 'tenth'

  }

]


function groupByClassName(arr) {

  return arr.reduce((cum, cur) => {

    if(!cum[cur.className]) cum[cur.className] = 0;

    cum[cur.className]++;

    return cum;

  }, {})

}


console.log(groupByClassName(arr));


查看完整回答
反對 回復 2022-12-02
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

你可以用forEach我用過rank的key代替class


var g={}

var count = 1

 const arrx = [{ name:'john',rank:'tenth' }, { name:'josh', rank:'ninth' }, { name:'ajay', rank:'tenth' }, { name:'steph', rank:'tenth' }, { name:'nick', rank:'tenth' }, { name:'ajay', rank:'ninth' }, { name:'ajay', rank:'ninth' }, ]

  arrx.forEach(o => {

    g[o.rank] = g[o.rank]||count

    g[o.rank] = count++

  })

  console.log(g)


查看完整回答
反對 回復 2022-12-02
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

您可以嘗試使用下一個功能。抱歉格式化無法在手機上工作..


Function groupBy(arr, prop) {

   const map = new Map(Array.from(arr, obj => [obj[prop], []]));


arr.forEach(obj => map.get(obj[prop]).push(obj));

    return Array.from(map.values());

}

    

console.log(groupBy(data, "class"));


查看完整回答
反對 回復 2022-12-02
  • 5 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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