JavaScript——数组中重复数字
最简单的遍历数组来实现:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18/** * @param {number[]} nums * @return {number} */ var findRepeatNumber = function(nums) { let temp = [] let result for(let i=0;i<nums.length;i++){ if(temp.includes(nums[i])){ result = nums[i] break } temp.push(nums[i]) } return result };
扩展:
ES6 新增了集合(Set)数据类型
复制代码
1
2
3
4
5
6
7
8
9const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4
结合ES6新增语法,去除数组重复成员的方法:
复制代码
1
2
3
4
5
6// 去除数组的重复成员 [...new Set(array)] [...new Set('ababbc')].join('') // "abc"
Set.prototype.add(value)
:添加某个值,返回 Set 结构本身。
Set.prototype.delete(value)
:删除某个值,返回一个布尔值,表示删除是否成功。
Set.prototype.has(value)
:返回一个布尔值,表示该值是否为Set的成员。
Set.prototype.clear()
:清除所有成员,没有返回值。
Set 结构的实例有四个遍历方法,可以用于遍历成员。
Set.prototype.keys()
:返回键名的遍历器
Set.prototype.values()
:返回键值的遍历器
Set.prototype.entries()
:返回键值对的遍历器
Set.prototype.forEach()
:使用回调函数遍历每个成员
keys方法、values方法、entries方法返回的都是遍历器对象。由于 Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23let set = new Set(['red', 'green', 'blue']); for (let item of set.keys()) { console.log(item); } // red // green // blue for (let item of set.values()) { console.log(item); } // red // green // blue for (let item of set.entries()) { console.log(item); } // ["red", "red"] // ["green", "green"] // ["blue", "blue"]
上面代码中,entries方法返回的遍历器,同时包括键名和键值,所以每次输出一个数组,它的两个成员完全相等。
最后
以上就是疯狂糖豆最近收集整理的关于JavaScript——数组中重复数字的全部内容,更多相关JavaScript——数组中重复数字内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复