簡體   English   中英

比較 2 個在 Javascript 中不起作用的數組的值

[英]Comparing between values of 2 arrays not working in Javascript

我試圖在兩個數組之間進行比較,無論它們在同一位置具有相同的值,在不同位置具有相同的值還是根本不相同。 比較后我想輸入一個字符到第三個數組來指示結果。 我的代碼由於某種原因不起作用......它沒有正確比較。 我究竟做錯了什么?

var numInput = [1,2,3,4];
var numArr = [2,5,3,6];
var isBp;
var i,j;
  for ( i = 0; i < 4; i++)
   {
     if (numInput[i] == numArr[i])
     {  isBP[i] = "X"; }
     else
     {
       for ( j = 0; j<4; j++)
       {
         if (numInput[i] == numArr[j])
          {isBP[i] = "O";}
         else
          { isBP[i] = "-"; }
       }

     }

     }

結果應該是:

isBP = [O,-,X,-]

這是一個相當簡單的數組映射操作。 如果我理解正確,當它們匹配時需要一個X當它們不匹配時需要一個O並且根本不存在-當它存在但在不同的位置時

 var numInput = [1,2,3,4]; var numArr = [2,5,6,4]; var isBP = numInput.map((n,i) => ((n === numArr[i] ? 'X' : numArr.includes(n) ? '-': 'O'))) console.log(isBP)

看起來你想輸出:

  • X 如果相同索引處的數字相等
    • 如果它們在相同的索引處不相等,但該數字在別處找到
  • O 如果第一個數組中的數字在第二個數組中根本不存在

如果是這樣的話:

var a1 = [1, 2, 3];
var a2 = [1, 3, 4];

var result = a1.map((n, i) => {
  var match = a2.indexOf(n);
  if (match === i) {
    return "X"
  } else if (match > -1) {
    return "O";
  } else {
    return "-";
  }
});

console.log(result); // prints [ 'X', '-', 'O' ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM