Apakah perbezaan antara peta dan foreach dalam es6

青灯夜游
Lepaskan: 2022-03-09 19:10:07
asal
4227 orang telah melayarinya

Perbezaan: 1. Kaedah forEach() tidak akan mengembalikan hasil pelaksanaan dan nilai pulangan adalah "undefined", manakala kaedah map() akan mengembalikan hasil operasi dan tatasusunan 2. forEach(; ) kaedah akan mengubah suai Tatasusunan asal, dan kaedah map() tidak mengubah suai tatasusunan asal.

Apakah perbezaan antara peta dan foreach dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 7, ECMAScript versi 6, komputer Dell G3.

kaedah foreEach(): Jalankan fungsi yang disediakan untuk setiap elemen.

kaedah map(): Cipta tatasusunan baharu di mana setiap elemen diperoleh dengan memanggil setiap elemen dalam tatasusunan untuk melaksanakan fungsi yang disediakan.

Perbezaan

Kaedah forEach() tidak akan mengembalikan hasil pelaksanaan, tetapi tidak ditentukan. Dengan kata lain, forEach() akan mengubah suai tatasusunan asal. Kaedah map() akan mendapat tatasusunan baharu dan mengembalikannya.

Contoh:

Membuat segi empat sama tatasusunan

mempunyai tatasusunan berikut

let arr =[1,2,3,4,5,6]
Salin selepas log masuk

Use forEach() di bawah dan Map()

forEach()

Ambil perhatian bahawa forEach tidak akan mengembalikan nilai yang bermakna.

Kami mengubah suai secara langsung nilai arr dalam fungsi panggil balik.

arr.forEach((value, key) => {
 return arr[key] = value * value;
});
Salin selepas log masuk

Hasil pelaksanaan adalah seperti berikut:

Apakah perbezaan antara peta dan foreach dalam es6

Map()

let list = arr.map(value => {
 return value * value;
});
Salin selepas log masuk

The keputusan pelaksanaan adalah seperti berikut:

Apakah perbezaan antara peta dan foreach dalam es6

Perbandingan kelajuan pelaksanaan

Kelajuan pelaksanaan forEach() < Kelajuan pelaksanaan map()

Apakah perbezaan antara peta dan foreach dalam es6

Cara menggunakan

forEach sesuai apabila anda tidak menggunakannya merancang untuk menukar data, tetapi hanya mahu melakukan sesuatu dengan data - seperti menyimpannya ke pangkalan data atau mencetaknya.

let arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;];
arr.forEach((letter) => {
 console.log(letter);
});
// a
// b
// c
// d
Salin selepas log masuk

map() sesuai apabila anda ingin menukar nilai data. Bukan sahaja ia lebih pantas, tetapi ia mengembalikan tatasusunan baharu. Kelebihan ini ialah anda boleh menggunakan gubahan (gabungan map(), filter(), reduce(), dsb.) untuk memainkan lebih banyak helah.

let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(value => value * value).filter(value => value > 10);
// arr2 = [16, 25]
Salin selepas log masuk

Kami mula-mula menggunakan peta untuk mendarab setiap elemen dengan sendirinya, kemudian menapis unsur-unsur yang lebih daripada 10. Keputusan akhir diberikan kepada arr2.

Ringkasan

Apa yang boleh dilakukan oleh forEach(), map() boleh melakukan perkara yang sama. Begitu juga sebaliknya.

map() akan memperuntukkan ruang memori untuk menyimpan tatasusunan baharu dan mengembalikannya, manakala forEach() tidak akan mengembalikan data.

forEach() membenarkan panggilan balik menukar elemen tatasusunan asal. map() mengembalikan tatasusunan baharu.

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Atas ialah kandungan terperinci Apakah perbezaan antara peta dan foreach dalam es6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan