如何在 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 个元素。最后,我们显示了新数组。
广告