一、题目描述:
给定一个整数数组,判断是否存在重复元素。
如果某一个值在数组中出现至少两次,函数返回 true ; 否则数组中每个元素都不相同,返回 false 。
这道题目比较简单,主要考察数组去重。
示例一:
- 输入: [1,2,3,1] 输出: true
示例二:
- 输入: [1,2,3,4] 输出: false
示例三:
- 输入: [1,2,3,4,null,undefined,null,undefined] 输出: true
二、思路分析:
先将数组去重得到一个新数组,如果新数组长度和原数组长度一致,则代表没有重复的元素。
new Set() 是一个常见的应用于数组的去重。
let arr = [1, 2, 3, 4, 4, 3, 2, 1];
let set = new Set(arr); // Set(4) {1, 2, 3, 4}
let newArr = [...set]; // [1, 2, 3, 4]
let list = [...new Set(1,2,3,null,undefined,null,undefined)] // [1, 2, 3, null, undefined]
三、代码
var containsDuplicate = function(nums) {
console.log([...new Set(nums)])
return nums.length === [...new Set(nums)].length ? false : true
};
containsDuplicate([1,2,3,4,null,undefined,null,undefined])
// 打印 [1, 2, 3, 4, null, undefined]
// true