无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)組頻率統(tǒng)計

2023-08-10 02:22 作者:十三他很帥  | 我要投稿

創(chuàng)建一個對象,其中數(shù)組的唯一值作為鍵,出現(xiàn)頻率作為值。使用 Array.prototype.reduce() 將唯一值映射到對象的鍵,每次遇到相同的值時都會使頻率加1。

統(tǒng)計數(shù)組中唯一值的頻率很容易,但如果數(shù)據(jù)經(jīng)常發(fā)生變化頻率就需要重新計算。為此我們最好創(chuàng)建自定義數(shù)據(jù)結(jié)構(gòu)來存儲數(shù)據(jù)。該數(shù)據(jù)結(jié)構(gòu)將能夠跟蹤其包含的值的頻率并在需要更新它們。以下是實現(xiàn)此類數(shù)據(jù)結(jié)構(gòu)的方法:

  • 由于數(shù)據(jù)結(jié)構(gòu)的操作更像是一個Set,構(gòu)造函數(shù)之后接受一個值數(shù)組。使用 Array.prototype.forEach() 為每個值調(diào)用 add() 方法,填充數(shù)據(jù)結(jié)構(gòu)。

  • 通過繼承來利用內(nèi)置的 Map 類。

  • 擴展Map.prototype.set()以拋出錯誤,防止破壞添加到數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)。

  • 定義一個add()方法,該方法將接收一個值并在數(shù)據(jù)結(jié)構(gòu)中增加其計數(shù),不存在則設(shè)為1。

  • 擴展Map.prototype.delete()以減少數(shù)據(jù)結(jié)構(gòu)中存在的值的計數(shù)。值為1時直接刪除。

  • 定義一個sorted()方法,該方法將返回按頻率排序的值數(shù)組。 使用Array.prototype.sort()按頻率對值進行排序,使用Array.prototype.map()返回值。ascending參數(shù)決定返回數(shù)組的順序。

在這個實現(xiàn)中,我們創(chuàng)建了一個名為FrequencyMap的數(shù)據(jù)結(jié)構(gòu),它繼承了內(nèi)置的Map類。通過添加、刪除和排序方法,我們可以方便地跟蹤和操作存儲在該數(shù)據(jù)結(jié)構(gòu)中的值的頻率。這種自定義數(shù)據(jù)結(jié)構(gòu)對于那些需要高效跟蹤頻率變化的應(yīng)用程序非常有用。

數(shù)組頻率統(tǒng)計的評論 (共 條)

分享到微博請遵守國家法律
苍梧县| 大邑县| 沂南县| 和静县| 吐鲁番市| 泰兴市| 蛟河市| 天祝| 武威市| 汝州市| 汕尾市| 武邑县| 丹阳市| 涡阳县| 察哈| 荔波县| 怀集县| 革吉县| 海淀区| 台山市| 克拉玛依市| 保山市| 闻喜县| 常宁市| 陇西县| 乌拉特后旗| 玛纳斯县| 南安市| 盖州市| 新密市| 荆州市| 金塔县| 建平县| 梁山县| 新邵县| 鹤庆县| 曲麻莱县| 清徐县| 清水河县| 大石桥市| 皮山县|