如何在 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

开启您的职业生涯

完成课程获得认证

开始学习
广告