首頁 > web前端 > js教程 > JavaScript 的 `forEach()` 和 `map()` 方法之間的主要差異是什麼?

JavaScript 的 `forEach()` 和 `map()` 方法之間的主要差異是什麼?

Mary-Kate Olsen
發布: 2024-12-20 05:38:13
原創
435 人瀏覽過

What's the Key Difference Between JavaScript's `forEach()` and `map()` Methods?

理解JavaScript 中.forEach() 和.map() 之間的差異

超越.forEach() 操作的主要區別原始數組,而.map() 建立新數組,需要考慮細微差別。所提供的代碼中對此進行了示例:

function practice(i) {
  return i + 1;
}

var a = [-1, 0, 1, 2, 3, 4, 5];
var b = [0];
var c = [0];
console.log(a);
b = a.forEach(practice);
console.log("=====");
console.log(a);
console.log(b);
c = a.map(practice);
console.log("=====");
console.log(a);
console.log(c);
登入後複製

輸出:

[-1, 0, 1, 2, 3, 4, 5]
=====
[-1, 0, 1, 2, 3, 4, 5]
undefined
=====
[-1, 0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]
登入後複製

解釋:

  • forEach():這個方法迭代數組中的每個元素,但不傳回值。在範例中,a.forEach(practice) 對「a」中的每個元素執行practice 函數,但結果(未定義)未指派給「b」。因此,'b' 保持不變。
  • map(): 此方法透過轉換原始陣列中的每個元素來建立一個新陣列。在範例中,a.map(practice) 將練習函數應用於「a」中的每個元素,並傳回具有轉換後的值的新陣列「c」。

主要差異:

  • 傳回值: forEach() 不傳回任何內容,而map() 建立一個新數組。
  • 操作: forEach() 迭代並執行副作用,而 map() 迭代並轉換。
  • 副作用: forEach() 可以透過回呼函數對原始陣列進行變異,而map() 只對

在JavaScript 中選擇適當的陣列運算方法時,理解這些差異至關重要。

以上是JavaScript 的 `forEach()` 和 `map()` 方法之間的主要差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板