使用for循环在没有任何功能的情况下在两个数组中查找相同元素

Finding same element in two array using for loop without any function

我有两个数组 arr1arr2 我希望我的输出像 1,2,3,4... 如果我的 arr1arr2 包含相同的数字,但不幸的是我只得到一个匹配项 例如,如果我输入 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);