JavaScript 中 forEach() 和 map() 方法的區別是什麼?
JavaScript 提供了幾種遍歷陣列和物件的方法。最常見的方法是 for 迴圈,用於迭代陣列或物件的元素。但是,還有其他方法可以遍歷陣列和物件,例如 forEach() 和 map() 方法。
forEach() 方法
**forEach()** 方法用於遍歷陣列或物件的每個元素。forEach() 方法接受一個回撥函式作為引數。回撥函式對陣列或物件的每個元素都呼叫一次。
**forEach()** 方法類似於 for 迴圈,但它沒有返回值。
示例
以下是帶有解釋的完整工作程式碼 -
<!doctype html>
<html>
<head>
<title>Examples</title>
</head>
<body>
<div id="result"></div>
<script>
var arr = [1,2,3,4,5];
arr.forEach(function(element){
var item2 = document.createElement('div');
item2.innerText = element;
document.getElementById("result").appendChild(item2);
});
</script>
</body>
</html>在上面的程式碼中,我們定義了一個名為“arr”的陣列。forEach() 方法被呼叫在“arr”陣列上。forEach() 方法接受一個回撥函式作為引數。回撥函式對“arr”陣列的每個元素都呼叫一次。
map() 方法
**map()** 方法用於遍歷陣列或物件的每個元素。map() 方法接受一個回撥函式作為引數。回撥函式對陣列或物件的每個元素都呼叫一次。
**map()** 方法類似於 **forEach()** 方法,但它返回一個新陣列。
示例
以下是帶有解釋的完整工作程式碼 -
<!doctype html>
<html>
<head>
<title>Examples</title>
</head>
<body>
<div id="result"></div>
<script>
var arr = [1,2,3,4,5];
arr.map(function(element){
var item2 = document.createElement('div');
item2.innerText = element;
document.getElementById("result").appendChild(item2);
});
</script>
</body>
</html>在上面的程式碼中,我們定義了一個名為“arr”的陣列。map() 方法被呼叫在“arr”陣列上。map() 方法接受一個回撥函式作為引數。回撥函式對“arr”陣列的每個元素都呼叫一次。回撥函式的返回值儲存在一個名為“newArr”的新陣列中。
map() 與 forEach()
map() 和 forEach() 方法之間的一些區別列在下面 -
map() 方法返回一個新陣列,而 forEach() 方法不返回新陣列。
map() 方法用於轉換陣列的元素,而 forEach() 方法用於遍歷陣列的元素。
map() 方法可以與其他陣列方法一起使用,例如 filter() 方法,而 forEach() 方法不能與其他陣列方法一起使用。
結論
總之,forEach() 和 map() 方法都用於遍歷陣列和物件。forEach() 方法不返回新陣列,而 map() 方法返回新陣列。map() 方法用於轉換陣列的元素,而 forEach() 方法用於遍歷陣列的元素。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP