js找出数组内相同的元素
时间: 2023-06-05 11:47:37 浏览: 65
要找出数组中相同的元素,有一些方法可以实现。其中一种方法是使用for循环和if语句来遍历数组并比较元素。具体步骤如下:
1. 声明一个空数组,用于存储相同的元素。
2. 使用for循环遍历原始数组。
3. 在for循环内部,使用嵌套的for循环来比较原始数组中的当前元素与其他元素是否相同。
4. 如果找到相同的元素,将其添加到空数组中。
5. 返回空数组,其中包含所有相同的元素。
下面是一个示例代码:
```
let array = [1, 2, 3, 4, 5, 2, 6, 7, 1];
let duplicates = [];
for(let i = 0; i < array.length; i++){
for(let j = i+1; j < array.length; j++){
if(array[i] === array[j]){
if(!duplicates.includes(array[i])){
duplicates.push(array[i]);
}
}
}
}
console.log(duplicates); // [1, 2]
```
以上代码将输出原始数组中的相同元素,并将其存储在新的数组中。这个算法的时间复杂度是 O(n^2),因为它涉及两个嵌套的for循环,所以在大型数组中可能会有性能问题。
相关问题
js找出数组中重复元素的个数
可以使用JavaScript中的Map对象来统计数组中每个元素出现的次数,进而找出重复元素的个数。
以下是示例代码:
```javascript
function countDuplicates(arr) {
let countMap = new Map();
let duplicates = 0;
// 统计每个元素出现的次数
for (let i = 0; i < arr.length; i++) {
let key = arr[i];
let count = countMap.get(key) || 0;
countMap.set(key, count + 1);
}
// 统计重复元素的个数
for (let count of countMap.values()) {
if (count > 1) {
duplicates++;
}
}
return duplicates;
}
// 示例用法
let arr = [1, 2, 3, 2, 4, 3, 5, 4, 6];
let duplicates = countDuplicates(arr);
console.log(duplicates); // 输出:3
```
以上代码将数组中的每个元素都放入Map对象中,并统计每个元素出现的次数。然后再遍历Map对象的值,如果某个元素出现次数大于1,则说明该元素是重复的,重复元素的个数加1。最终返回重复元素的个数。
js找出两个数组不同的元素
可以使用 JavaScript 的 Array 类的 filter 方法结合 includes 方法来找出两个数组中不同的元素。
例如,假设有两个数组 arr1 和 arr2,我们可以使用以下代码来找出 arr1 中不包含在 arr2 中的元素:
```javascript
const arr1 = [1, 2, 3, 4];
const arr2 = [2, 4];
const differentElements = arr1.filter(element => !arr2.includes(element));
console.log(differentElements); // Output: [1, 3]
```
在上面的代码中,我们使用 filter 方法来筛选出 arr1 中不包含在 arr2 中的元素,即使用 includes 方法判断元素是否在 arr2 中存在,如果不存在则返回 true,筛选出这些元素。