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