首页 > web前端 > js教程 > 正文

如何从数组中删除元素,直到传递的函数在 JavaScript 中返回 true?

PHPz
发布: 2023-08-24 16:37:02
转载
781 人浏览过

如何从数组中删除元素,直到传递的函数在 JavaScript 中返回 true?

在 JavaScript 中,有多种方法可以从数组中删除元素,直到传递的函数返回 true。在本教程中,我们将详细介绍 3 个方法。

使用 Array.prototype.filter()

Array.prototype.filter() 方法可用于从数组中删除元素,直到传递的函数返回 true。请参阅 Array filter() 方法了解更多详细信息。

示例 1

以下代码展示了如何使用此方法 -

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="array"></div>
   <div id="result"></div>
   <script>
      var arr = [1,2,3,4,5,6,7,8,9,10];
      function remove(item) {
         return item < 5;
      }
      var newArr = arr.filter(remove);
      document.getElementById("array").innerHTML = "Array: " + arr;
      document.getElementById("result").innerHTML = "Removed Elements: " + newArr;
   </script>
</body>
</html>
登录后复制

如您所见,我们创建了一个包含从 1 到 10 的数字的数组。然后使用 filter() 方法删除所有小于 5 的元素。最后,我们显示了删除元素的新数组。

使用 for 循环

从数组中删除元素直到传递的函数返回 true 的另一种方法是使用 for 循环。

< h2>示例 2

以下代码展示了如何使用此方法 -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      var arr = [1,2,3,4,5,6,7,8,9,10];
      var newArr = [];
      for(var i=0; i < arr.length; i++) {
         if(arr[i] < 5) {
            newArr.push(arr[i]);
         } else {
            break;
         }
      }
      document.getElementById("result").innerHTML = newArr
   </script>
</body>
</html>
登录后复制

正如您所看到的,我们再次创建了一个包含从 1 到 10 的数字的数组。然后我们使用 for 循环来迭代数组中的每个元素。如果当前元素小于 5,我们将其添加到新数组中。否则,我们就跳出了循环。最后,我们显示了新数组。

使用 Array.prototype.slice()

从数组中删除元素直到传递的函数返回 true 的另一种方法是使用 Array .prototype.slice() 方法。详细请参考数组切片方法。

示例3

以下代码展示了如何使用此方法 -

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
<div id="result"></div>
<script>
     var arr = [1,2,3,4,5,6,7,8,9,10];
     var newArr = arr.slice(0,5);
     document.getElementById("result").innerHTML = newArr
</script>
</body>
</html>
登录后复制

正如您所看到的,我们再次创建了一个包含从 1 到 10 的数字的数组。然后我们使用 slice() 方法从数组中提取前 5 个元素。最后,我们显示了新的数组。

以上是如何从数组中删除元素,直到传递的函数在 JavaScript 中返回 true?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板