0.情景模拟
在日常刷题过程中,通常会对字符串或者数组中的元素进行处理,在处理过程中,往往需要统计其中元素出现的次数,因此,本文主要记录日常自己使用的相关方法。
1.对字符串的处理
以字符串 s = 'abcabcaadcce'
为例。
1.1 统计字符串s
中元素出现的次数
1 | let s = 'abcabcaadcce'; |
统计结果: { a: 4, b: 2, c: 4, d: 1, e: 1 }
1.3 遍历统计对象(键->值)
1 | for (let i in obj) { |
键: a -> 值: 4
键: b -> 值: 2
键: c -> 值: 4
键: d -> 值: 1
键: e -> 值: 1
1.3 基于元素出现的次数进行排序
1 | // 获取属性值并按从小到大排序 |
排序后的结果:Map(5) { ‘d’ => 1, ‘e’ => 1, ‘b’ => 2, ‘a’ => 4, ‘c’ => 4 }
遍历map值:
1 | for (let i of new_obj.values()) { |
1.4 删除满足条件的元素
1 | for (let i in obj) { |
删除后的结果 { b: 2, c: 4, d: 1, e: 1 }
2.对数组的处理
以数组 arr = [1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 8, 8, 9]
为例。
2.1 统计数组中元素出现的次数
1 | let arr = [1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 8, 8, 9]; |
统计结果: { ‘1’: 2, ‘2’: 3, ‘3’: 4, ‘4’: 1, ‘8’: 2, ‘9’: 1 }