簡體   English   中英

比較兩個長度相同的數組的相同索引

[英]Compare same index of two array having same length

我有兩個長度相同的數組

array1 = [12,13,14,15,16]
array2 = [22,32,45,11,7]

現在我只想比較 javasacript ex 中 for 循環中相同的索引值:

array1[0] < array2[0]
array1[1] < array2[1]
array1[2] < array2[2]

如果array1[index]值小於array2[index]則返回true

我想輸出必須是一個boolean數組。 為此,您可以通過傳遞callback函數來使用map方法。

 array1 = [12,13,14,15,16] array2 = [22,32,45,11,7] result = array1.map(function(item, i){ return item < array2[i]; }); console.log(result);

或者簡單地使用arrow函數。

 array1 = [12,13,14,15,16], array2 = [22,32,45,11,7] result = array1.map((item, i) => item < array2[i]); console.log(result);

如果您想返回10值,您可以使用+運算符來force結果為數字原始類型。

result = array1.map(function(item, i){
  return + (item < array2[i]);
});

如果您想接收帶有布爾值的數組,該值指示值是較低還是較高,請嘗試以下操作:

var result = [];
for(var i = 0; i < array1.length;i++){
    result.push(array1[i] < array2[i]);
}

試試這個:

  array1 = [12,13,14,15,16];
  array2 = [22,32,45,11,7];
  for(var x = 0; x < array1.length; x++) {
      if(array1[x] < array2[x]) {
          //do something
      }

  }

如果我理解您的問題的意思,這稱為詞典比較,並且是其他語言(例如 Python 或 C++)中內置的數組。

在 Javascript 中存在字符串,但您必須自己為數組實現它,例如

// lexical less-than-or-equal
function lex_leq(a, b) {
    let i = 0, na = a.length, nb = b.length, n = Math.min(na, nb);
    while (i<n && a[i] === b[i]) i++; // skip over equals
    return i === na || (i !== nb && a[i] < b[i]);
}

其他排序可以通過類似的代碼或重用相同的實現來計算......例如(a<b)等價於!(b<=a)

a1 = [12,13,14,15,16]
a2 = [22,32,45,11,7]
result = a1.map(function(item, i){
return item < a2[i];
});
console.log(result);

試試這個解決方案。 這將告訴您哪個索引不匹配。

 var array1 = [12,13,14,15,16]; var array2 = [12,13,14,15,34]; function compareArray(arr1, arr2) { if(arr1.length !== arr2.length) return false; return arr1.reduce(function(acc, val, index) { acc.push(val === arr2[index]); return acc; }, []); } var response = compareArray(array1, array2); console.log(response);

 array1 = [12,13,14,15,16] array2 = [22,32,45,11,7] result = [] array1.map(function(item, i){ result[i] = item < array2[i]; }); console.log(result);

暫無
暫無

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

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