JS代码使用数组方法判断数组是否有重复值,并找出第一个重复值,结束判断
时间: 2023-12-10 07:36:52 浏览: 80
可以`Array.prototype.indexOf()`和Array.prototype.lastIndexOf()`方法来判断数组是否有重复值,并找出第一个重复值。具体实现如下:
```javascript
function findFirstDuplicate(arr) {
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) !== arr.lastIndexOf(arr[i])) {
return arr[i];
}
}
return null;
}
const arr = [1, 2, 3, 4, 5, 2];
const firstDuplicate = findFirstDuplicate(arr);
console.log(firstDuplicate); // 输出 2
```
以上代码中,`findFirstDuplicate()`函数接受一个数组作为参数,使用`indexOf()`方法查找当前元素在数组中第一次出现的位置,使用`lastIndexOf()`方法查找当前元素在数组中最后一次出现的位置,如果这两个位置不同,则说明当前元素是重复的,返回当前元素即可。如果整个数组中没有重复元素,则返回`null`。
相关问题
找出数组中第一个重复
可以使用哈希表来解决这个问题。具体步骤如下:
1. 创建一个空的哈希表。
2. 遍历数组中的每个元素:
- 如果当前元素不在哈希表中,则将其添加到哈希表中。
- 如果当前元素已经在哈希表中,则说明找到了第一个重复元素,返回该元素的值。
3. 如果数组中没有重复元素,则返回 null。
以下是使用 JavaScript 实现的代码示例:
```javascript
function findFirstDuplicate(arr) {
const hash = {};
for (let i = 0; i < arr.length; i++) {
if (hash[arr[i]]) {
return arr[i];
} else {
hash[arr[i]] = true;
}
}
return null;
}
```
使用示例:
```javascript
const arr = [2, 3, 4, 2, 5, 6, 7, 5];
console.log(findFirstDuplicate(arr)); // 输出 2
```
用javascript写一个程序定义一个数组,内部有1,7,4,8,2,5,6,9,使用循环、判断语句,找出数组内最大值,并输出。
可以使用以下代码实现:
```javascript
let numbers = [1, 7, 4, 8, 2, 5, 6, 9];
let max = numbers[0];
for (let i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
console.log("最大值为:" + max);
```
首先,我们定义了一个数组`numbers`,里面包含了8个数字。接下来,我们使用`for`循环遍历数组中的每一个元素,从第二个元素开始比较,如果有元素比当前记录的最大值还要大,则更新最大值。最后,我们通过`console.log`输出最大值。在这个例子中,最大值为9。
阅读全文