簡體   English   中英

javascript-如何檢查數組是否至少有一個負值?

[英]javascript - How to check if array has at least one negative value?

我創建了一個整數數組,想知道它是否包含一個或多個負值。

我不想創建一個for()循環並檢查數組中的每個元素是正還是負,因為我只想返回一次(例如:我不希望我的函數“返回假;”一百萬次) 。

我考慮的一個選項是將數組中的每個值乘以其倒數的絕對值,因此我得到一個1s或-1s的數組(如果value為0,則為undefined),然后我可以對第二個數組中的所有值求和看看它是否等於數組的長度。

但是,這種方法的問題是它不能占1/0,而且很繁瑣。 我想知道是否有一種更快的方法來檢查數組是否包含至少一個負值。

-來自JavaScript初學者

您可以利用Array.prototype.some ,如果數組中的項匹配給定條件,則它將返回true或false。 如果條件與元素匹配,它將也停止檢查剩余值:

let values = [1, 4, 6, -10, -83];
let hasNegative = values.some(v => v < 0);

為什么在數組中找到最小值? 看到

JavaScript:最小和最大數組值?

Math.min(...array) 

這只會返回1值,並在找到負數后立即中斷。

 function doesArrayContainNegative(array){ //if negative is found return true (breaking loop) for(var arr of array){ if(arr < 0) return true; } //if no elements are negative return false return false; } var array1 = [9, -3, 5, 8] console.log(doesArrayContainNegative(array1)) 

for循環需要一直返回false的問題是什么?

fucntion containsNegative(myArray)
    for(var i = 0; i < myArray.length(); i++)
    {
        if(myArray[i] < 0){
            return true;
        }
    }
    return false;
}

如果你想得到負數

fucntion getNegative(myArray)
    var count = 0;
    for(var i = 0; i < myArray.length(); i++)
    {
        if(myArray[i] < 0){
            count++
        }
    }
    return count;
}

暫無
暫無

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

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