Rumah >hujung hadapan web >tutorial js >Memahami Kaedah map() untuk Tatasusunan JavaScript: Panduan Mudah
Kaedah map() mencipta tatasusunan baharu dengan menggunakan fungsi yang disediakan (callbackFn) pada setiap elemen tatasusunan asal. Ia sesuai untuk menukar data tanpa mengubah suai tatasusunan asal.
array.map(callbackFn, thisArg)
const numbers = [1, 4, 9]; const roots = numbers.map((num) => Math.sqrt(num)); console.log(roots); // [1, 2, 3]
const kvArray = [ { key: 1, value: 10 }, { key: 2, value: 20 }, ]; const reformatted = kvArray.map(({ key, value }) => ({ [key]: value })); console.log(reformatted); // [{ 1: 10 }, { 2: 20 }]
// Common mistake: console.log(["1", "2", "3"].map(parseInt)); // [1, NaN, NaN] // Correct approach: console.log(["1", "2", "3"].map((str) => parseInt(str, 10))); // [1, 2, 3] // Alternative: console.log(["1", "2", "3"].map(Number)); // [1, 2, 3]
Tidak mengembalikan apa-apa daripada panggilan balik membawa kepada tidak ditentukan dalam tatasusunan baharu:
const numbers = [1, 2, 3, 4]; const result = numbers.map((num, index) => (index < 3 ? num : undefined)); console.log(result); // [1, 2, 3, undefined]
Gunakan penapis() atau flatMap() untuk mengalih keluar elemen yang tidak diingini.
Elakkan menggunakan map() untuk operasi dengan kesan sampingan, seperti mengemas kini pembolehubah:
const cart = [5, 15, 25]; let total = 0; // Avoid this: const withTax = cart.map((cost) => { total += cost; return cost * 1.2; }); // Instead, use separate methods: const total = cart.reduce((sum, cost) => sum + cost, 0); const withTax = cart.map((cost) => cost * 1.2);
Argumen ketiga (tatasusunan) membenarkan mengakses jiran semasa transformasi:
const numbers = [3, -1, 1, 4]; const averaged = numbers.map((num, idx, arr) => { const prev = arr[idx - 1] || 0; const next = arr[idx + 1] || 0; return (prev + num + next) / 3; }); console.log(averaged);
const elems = document.querySelectorAll("option:checked"); const values = Array.from(elems).map(({ value }) => value);
const products = [{ name: "phone" }]; const updated = products.map((p) => ({ ...p, price: 100 }));
Gunakan map() untuk memudahkan kod anda apabila menukar tatasusunan dengan cekap!
Atas ialah kandungan terperinci Memahami Kaedah map() untuk Tatasusunan JavaScript: Panduan Mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!