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

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

js如何找出數(shù)組中重復(fù)最多的元素

js如何找出數(shù)組中重復(fù)最多的元素

拉莫斯之舞 2018-07-15 15:18:48
如下array中 js如何找出數(shù)組中重復(fù)最多的元素(盡量用es6以上的語法,簡潔點)let ary = ['趙', '錢', '孫', '孫', '李', '周', '李', '周', '李'];補充: 2018-7-17 10:42:53其實我最開始是用mockjs做的一個關(guān)于數(shù)組的練習(xí), 現(xiàn)在這個問題就是func10的需求部分, demo=>https://codepen.io/vizocn/pen...點擊預(yù)覽func10現(xiàn)在還未完成, 想請教各位看有沒有更好更簡潔的方法解決.初始數(shù)組數(shù)據(jù)結(jié)構(gòu)如下圖
查看完整描述

2 回答

?
慕村225694

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

function search(arr){

    var maxCount = 0,

        maxItem = '',

        obj = {}

    arr.forEach(function(item){

        obj[item] ? (obj[item].count += 1) : obj[item] = {count: 1}

        obj[item].count > maxCount && (maxCount = obj[item].count, maxItem = item)

    })

    //return {item:maxItem,count:maxCount}

    return maxItem

}


查看完整回答
反對 回復(fù) 2018-07-19
?
jeck貓

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

const d = {};

let ary = ['趙', '錢', '孫', '孫', '李', '周', '李', '周', '李'];

ary.forEach(k => !d[k] ? d[k] = 1 : d[k]++);

const max = Object.keys(d).sort((a, b) => d[b] - d[a])[0];

console.log(max)

不算定義變量的話就2行 夠簡潔了吧

const d = {};

let ary = ['趙', '錢', '孫', '孫', '李', '周', '李', '周', '周', '李'];

ary.forEach(k => !d[k] ? d[k] = 1 : d[k]++);

const result = Object.keys(d).sort((a, b) => d[b] - d[a]).filter((k, i, l) => d[k] === d[l[0]]);

console.log(result)

更新了一下 result 是現(xiàn)在是數(shù)組結(jié)果 最長數(shù)量一樣的值都會列出。

如果只取最大值還是建議使用hfhan那種方式,比較正統(tǒng),我這算 奇技淫巧 代碼看起來短其實多了2次循環(huán),不過如果你有把重復(fù)數(shù)量從大到小排序的需求倒是可以用用


查看完整回答
反對 回復(fù) 2018-07-19
  • 2 回答
  • 0 關(guān)注
  • 1516 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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