检查一个数组是否包含大于同一索引处的另一个数组的所有值



对于任何两个给定的数组,是否有任何简单的方法来检查一个数组的所有元素是否大于同一索引下的另一个数组的元素

例如:

Arr1 = [1,2,3] and Arr2 = [2,3,4] returns true
while
Arr1 = [1,2,3] and Arr2 = [2,1,4] returns false

可以使用 LINQ: 通过索引和AllZip链接,计算谓词并在第一次不匹配时返回false

bool allGreater = Arr1.Zip(Arr2, (i1, i2) => i2 > i1).All(secondGreater => secondGreater);
Enumerable.Range(0, Arr2.Length).All(i => Arr1[i] < Arr2[i])

或者,如果数组可以有不同的长度:

Enumerable.Range(0, Math.Min(Arr1.Length, Arr2.Length))
.All(i => Arr1[i] < Arr2[i])

你可以使用 for 循环

function is2ArrayGreater(Arr1, Arr2){
if(Arr1.length == Arr2.length){
var isEqual = true;
for(var i = 0; i< Arr1.length; i++){
if(Arr1[i] >= Arr2[i]){
isEqual = false;
break;
}
}
alert('result is: ' + isEqual);
}
};

最新更新