用js编写一个程序在运行输出结果: 从一个数组中找出所有相同的元素,并输出出来。 例如数组为:1、1、2、3、1、4、8、2、7、5、4、10、6、5、9, 输出结果为:1、1、1、2、2、4、4、5、5(不要求排序输出) 要求:请考虑一种以上不同解决思路.
时间: 2023-03-26 14:03:32 浏览: 139
回答:您好,我可以回答这个问题。以下是两种不同的解决思路:
1. 使用双重循环,遍历数组中的每一个元素,然后再遍历一遍数组,查找是否有相同的元素,如果有,则输出该元素。代码如下:
```
var arr = [1, 1, 2, 3, 1, 4, 8, 2, 7, 5, 4, 10, 6, 5, 9];
var result = [];
for (var i = ; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
result.push(arr[i]);
break;
}
}
}
console.log(result);
```
2. 使用对象来记录每个元素出现的次数,然后再遍历一遍对象,输出出现次数大于1的元素。代码如下:
```
var arr = [1, 1, 2, 3, 1, 4, 8, 2, 7, 5, 4, 10, 6, 5, 9];
var obj = {};
var result = [];
for (var i = ; i < arr.length; i++) {
if (obj[arr[i]]) {
obj[arr[i]]++;
} else {
obj[arr[i]] = 1;
}
}
for (var key in obj) {
if (obj[key] > 1) {
for (var i = ; i < obj[key]; i++) {
result.push(parseInt(key));
}
}
}
console.log(result);
```
以上两种方法都可以实现从一个数组中找出所有相同的元素,并输出出来。
阅读全文