使用for循环在没有任何功能的情况下在两个数组中查找相同元素
Finding same element in two array using for loop without any function
我有两个数组 arr1
和 arr2
我希望我的输出像 1,2,3,4... 如果我的 arr1
和 arr2
包含相同的数字,但不幸的是我只得到一个匹配项
例如,如果我输入 var arr1 = [1,2,3,4,5,6,7,8,9,0]
& var arr2 = [ 1,2,3,4,5]
,那么我希望输出如下:
1,2,3,4,5
var i, j;
var arr1 = new Array(5);
var arr2 = new Array(5);
for (i = 0; i <= 4; i++) {
arr1[i] = parseInt(prompt("Enter The arr1 Element"));
}
for (i = 0; i <= 4; i++) {
arr2[i] = parseInt(prompt("Enter The Arr2 Element"));
}
var k;
var l;
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
document.getElementById("show").innerHTML = arr1[k];
}
continue;
}
}
<html>
<head>
<title>
Common In Array[]
</title>
</head>
<body>
<p id="show"></p>
</body>
</html>
then I want my output like: 1,2,3,4,5
您仅使用赋值运算符设置了一个值=
。
document.getElementById("show").innerHTML = arr1[k];
您需要将您的值放入数组中,然后在用 ,
分隔后立即显示它们
var output = [];
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
output.push(arr1[k]);
}
}
}
document.getElementById("show").innerHTML = output.join(",");
演示
var i, j;
var arr1 = new Array(5);
var arr2 = new Array(5);
for (i = 0; i <= 4; i++) {
arr1[i] = parseInt(prompt("Enter The arr1 Element"));
}
for (i = 0; i <= 4; i++) {
arr2[i] = parseInt(prompt("Enter The Arr2 Element"));
}
var k;
var l;
var output = [];
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
output.push(arr1[k]);
}
}
}
document.getElementById("show").innerHTML = output.join(",");
<p id="show"></p>
看看这个。你不需要非常复杂的逻辑来实现你想要的
var arr1 = [1,2,3,4,5,6,7,8,9,0];
var arr2 = [ 1,2,3,4,5];
let res = [];
if(arr1.length >= arr2.length) {
res = arr1.filter(a => arr2.find(o => o === a));
} else {
res = arr2.filter(a => arr1.find(o => o === a));
}
console.log(res)
document.getElementById("show").innerHTML = res;
<p id="show"></p>
试试这个:
var outputstring = "";
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
outputstring += arr1[k] + ",";
}
continue;
}
}
document.getElementById("show").innerHTML = outputstring;
您可以使用过滤方法并比较两个数组...
let arr1 = [1,2,3,4,5];
let arr2 = [1,2,3,6,7];
let result = arr1.filter((element)=>arr2.includes(element));
console.log(result);
var array1 = [1,2,3,4,5,6,7,8,9,0];
var array2 = [1,2,3,4,5];
var results = array1.filter(function(item) {
return array2.indexOf(item) !== -1;
});
console.log(results);
我有两个数组 arr1
和 arr2
我希望我的输出像 1,2,3,4... 如果我的 arr1
和 arr2
包含相同的数字,但不幸的是我只得到一个匹配项
例如,如果我输入 var arr1 = [1,2,3,4,5,6,7,8,9,0]
& var arr2 = [ 1,2,3,4,5]
,那么我希望输出如下:
1,2,3,4,5
var i, j;
var arr1 = new Array(5);
var arr2 = new Array(5);
for (i = 0; i <= 4; i++) {
arr1[i] = parseInt(prompt("Enter The arr1 Element"));
}
for (i = 0; i <= 4; i++) {
arr2[i] = parseInt(prompt("Enter The Arr2 Element"));
}
var k;
var l;
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
document.getElementById("show").innerHTML = arr1[k];
}
continue;
}
}
<html>
<head>
<title>
Common In Array[]
</title>
</head>
<body>
<p id="show"></p>
</body>
</html>
then I want my output like: 1,2,3,4,5
您仅使用赋值运算符设置了一个值=
。
document.getElementById("show").innerHTML = arr1[k];
您需要将您的值放入数组中,然后在用 ,
var output = [];
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
output.push(arr1[k]);
}
}
}
document.getElementById("show").innerHTML = output.join(",");
演示
var i, j;
var arr1 = new Array(5);
var arr2 = new Array(5);
for (i = 0; i <= 4; i++) {
arr1[i] = parseInt(prompt("Enter The arr1 Element"));
}
for (i = 0; i <= 4; i++) {
arr2[i] = parseInt(prompt("Enter The Arr2 Element"));
}
var k;
var l;
var output = [];
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
output.push(arr1[k]);
}
}
}
document.getElementById("show").innerHTML = output.join(",");
<p id="show"></p>
看看这个。你不需要非常复杂的逻辑来实现你想要的
var arr1 = [1,2,3,4,5,6,7,8,9,0];
var arr2 = [ 1,2,3,4,5];
let res = [];
if(arr1.length >= arr2.length) {
res = arr1.filter(a => arr2.find(o => o === a));
} else {
res = arr2.filter(a => arr1.find(o => o === a));
}
console.log(res)
document.getElementById("show").innerHTML = res;
<p id="show"></p>
试试这个:
var outputstring = "";
for (k = 0; k < arr1.length; k++) {
for (l = 0; l < arr2.length; l++) {
if (arr1[k] == arr2[l]) {
outputstring += arr1[k] + ",";
}
continue;
}
}
document.getElementById("show").innerHTML = outputstring;
您可以使用过滤方法并比较两个数组...
let arr1 = [1,2,3,4,5];
let arr2 = [1,2,3,6,7];
let result = arr1.filter((element)=>arr2.includes(element));
console.log(result);
var array1 = [1,2,3,4,5,6,7,8,9,0];
var array2 = [1,2,3,4,5];
var results = array1.filter(function(item) {
return array2.indexOf(item) !== -1;
});
console.log(results);