如何在 JavaScript 中移除数组元素,直到传入的函数返回 true?
在 JavaScript 中,有多种方法可以移除数组元素,直到传入的函数返回 true。在本教程中,我们将详细介绍三种方法。
使用 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 循环。
示例 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() 方法。更多详情,请参考 array 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 个元素。最后,我们显示了新数组。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP