如何在 JavaScript 中檢查陣列中提供的元素是否滿足特定條件?


在本文中,我們將討論如何在 JavaScript 中檢查陣列中提供的元素是否滿足特定條件。在這裡,我們可以使用`_.filter()`方法、`every()`方法、`some()`方法、`filter()`方法和`for`迴圈。如果陣列中的每個元素都滿足條件,它們將返回 `true`,否則返回 `false`。

使用 Array.filter() 方法

此`Array.filter()`方法是一個 JavaScript 函式。`Array.filter()`方法將建立一個新陣列,其中包含滿足程式中函式定義的條件的元素。

如果元素為空或為 NULL,則此 `Array.filter()`方法將不會執行。`Array.filter()`不會修改現有陣列。

語法

array.filter(function(currentValue, index, arr), thisValue)

示例 1

在下面的示例中,我們使用了`Array.filter()`方法來過濾滿足函式中定義的條件的元素。

此方法將建立一個新陣列並顯示輸出。原始陣列不會被破壞或修改。

<!DOCTYPE html> <html> <body> <h1>The cars which are below five lakhs are:</h1> <h2 id="demo"></h2> <script> var Cost_of_cars = [200000, 560000, 450000, 800000, 500000]; var filter_cars = Cost_of_cars.filter(func); document.getElementById("demo").innerHTML = filter_cars; function func(value, index, array) { return value <= 500000; } </script> </body> </html>

使用 _.filter() 方法

這也是一種檢查陣列中給定元素是否滿足特定條件的方法。`_.filter()`方法

示例

考慮此示例,我們使用了`_.filter()`方法來分離滿足函式中提到的條件的元素。

此方法將透過建立一個新陣列來返回輸出。因此,主陣列不會更改。

<html> <head> <script type="text/javascript" src= "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script> var array = [11,20,33,44,50,65,75,66,99,100,42,54] var even_num = _.filter(array, function(value){ return value % 2 == 0; }); document.write("The values which are EVEN in the array are: "); document.write(even_num); </script> </body> </html>

使用 Array.every() 方法

此`Array.every()`是 JavaScript 中的一種方法。此方法驗證陣列中的每個元素是否都滿足透過函式給出的條件。

此方法將以布林值返回輸出。如果所有給定元素都滿足條件,則它將輸出 `true`,如果它不滿足條件,則返回`false`。

示例

下面的示例使用了`Array.every()`方法。這將以布林值返回輸出。在下面的文件中,有些元素不滿足函式中提到的條件。因此它返回`false`。

<!DOCTYPE html> <html> <body> <title> Array.every() Method</title> <h2 id="demo"></h2> <script> const salary = [30000, 40000, 50000, 60000, 70000, 80000]; document.getElementById("demo").innerHTML = salary.every(func); function func(emp) { return emp >= 40000; } </script> </body> </html>

使用 Array.some() 方法

此`Array.some()`是 JavaScript 中的一種方法。此方法將驗證陣列中的任何元素是否滿足條件。如果陣列中的任何一個元素滿足條件,此方法將返回`true`(並停止)。當陣列中的所有元素都不滿足條件時,返回`false`。如果陣列中的元素為空,則此方法將不會執行。它不會修改現有陣列。

示例

在下面的示例中,我們使用`Array.some()`方法來檢查元素是否滿足函式中宣告的條件。在這種情況下,此方法將返回`true`,因為如果陣列中的一個元素滿足條件,`Array.some()`將返回 `true`。

<!DOCTYPE html> <html> <body> <title>Array.some()</title> <h3 id="demo"></h3> <script> const Weights = [56, 61, 65, 70, 71, 80, 99, 106]; document.getElementById("demo").innerHTML = Weights.some(know_weight); function know_weight(weight) { return weight > 60; } </script> </body> </html>

使用 for 迴圈

我們還可以使用簡單的 for 迴圈來完成此任務,以下是一個示例:

示例

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Using for loop example</title> <div id="every"></div> </head> <body> <script> let arr = new Array(2, 4, 6, 8, 10); let flag = true; for (let i = 0; i < arr.length; i++) { if (arr[i] > 10) { flag = false; break; } } document.getElementById("every").innerHTML = "The array elements have passed the condition : " + flag; </script> </body> </html>

更新於:2022年9月19日

瀏覽量:121

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告