寻找两个数组中相同元素中最小的元素,例如: var arr1=[1,2,5,9,10],var arr2=[3,4,6,9,10].
时间: 2023-10-07 20:14:24 浏览: 89
可以使用双重循环来实现,先遍历第一个数组,再在第二个数组中查找是否有相同的元素,如果有则记录下来,并更新最小值。代码如下:
```javascript
var arr1=[1,2,5,9,10];
var arr2=[3,4,6,9,10];
var min = Number.MAX_SAFE_INTEGER; // 初始化最小值为最大安全整数
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] === arr2[j] && arr1[i] < min) {
min = arr1[i];
}
}
}
console.log(min); // 输出结果为 9
```
这种方法的时间复杂度为 O(n^2),不适用于数据量较大的情况。如果两个数组都是有序的,可以使用双指针法将时间复杂度优化到 O(n)。
相关问题
数组去重 例如:var arr = [1,2,3,4,5,3,4,6,8,1] 编写程序去除数组内重复的值得到如下结果 arr = [1,2,3,4,5,6,8]
有多种方法可以实现数组去重。其中一种方法是利用ES6的Set数据结构。可以创建一个空的Set对象,遍历需要去重的数组,将每一个元素添加到Set中。由于Set中不会存在相同的元素,所以最终得到的结果就是去重后的数组。下面是一个示例代码:
```
function unique(arr) {
return Array.from(new Set(arr));
}
var arr = [1,2,3,4,5,3,4,6,8,1];
arr = unique(arr);
console.log(arr); //[1,2,3,4,5,6,8]
```
另一种方法是利用reduce函数。可以创建一个空的Map数据结构,遍历需要去重的数组,将数组的每一个元素作为key存储到Map中。由于Map中不会出现相同的key值,最终得到的就是去重后的结果。下面是一个示例代码:
```
function unique(arr) {
return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
}
var arr = [1,2,3,4,5,3,4,6,8,1];
arr = unique(arr);
console.log(arr); //[1,2,3,4,5,6,8]
```
以上是两种常用的数组去重方法,你可以根据自己的需求选择其中一种来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [JavaScript数组去重(12种方法,史上最全)](https://blog.csdn.net/weixin_34378045/article/details/88737041)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
两个数组删除相同元素
根据引用\[1\]和引用\[2\]的方法,可以使用splice()函数来删除两个数组中相同的元素。首先,我们可以创建一个新的空数组,然后遍历第一个数组的每个元素,与第二个数组的每个元素进行比较。如果找到相同的元素,就使用splice()函数将该元素从第一个数组中删除。最后,返回第一个数组即可。
以下是一个示例代码:
```javascript
var arr1 = \[1, 2, 3, 4, 5\];
var arr2 = \[4, 5, 6, 7, 8\];
function removeDuplicates(arr1, arr2) {
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1\[i\] === arr2\[j\]) {
arr1.splice(i, 1);
i--;
break;
}
}
}
return arr1;
}
var result = removeDuplicates(arr1, arr2);
console.log(result); // \[1, 2, 3\]
```
在这个例子中,我们遍历了arr1数组的每个元素,并与arr2数组的每个元素进行比较。如果找到相同的元素,就使用splice()函数将该元素从arr1数组中删除。最后,返回arr1数组,即删除了相同元素的结果数组。
#### 引用[.reference_title]
- *1* *2* *3* [数组去重的方法](https://blog.csdn.net/wxl1390/article/details/114832027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文
相关推荐













