Mencipta Tatasusunan dengan Nilai Julat dalam JavaScript
Pengaturcara sering menghadapi keperluan untuk mencipta tatasusunan yang mengandungi julat nilai. Pendekatan biasa melibatkan gelung yang secara berulang menambah setiap elemen pada tatasusunan. Walau bagaimanapun, adakah terdapat kaedah yang lebih ringkas dan cekap tanpa menggunakan gelung?
Dalam ES6, JavaScript memperkenalkan dua kaedah utama untuk menyelesaikan isu ini: Array.from() dan keys(). Menggunakan Array.from(), seseorang boleh menukar objek lelaran kepada tatasusunan. Kaedah keys() mengembalikan iterator untuk kekunci objek tertentu. Menggabungkan kaedah ini, anda boleh mencapai penciptaan tatasusunan dengan julat nilai.
Penyelesaian Menggunakan Array.from() dan keys()
Array.from(Array(10).keys()) // Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Pendekatan di atas memanfaatkan fakta bahawa Array(n) mencipta tatasusunan panjang n, diisi pada mulanya dengan nilai yang tidak ditentukan. Dengan menggunakan kekunci() pada tatasusunan ini, kami memperoleh kunci tatasusunan yang boleh dilelang, yang sepadan dengan julat nombor yang dikehendaki. Array.from() kemudian menukar boleh lelar ini kepada tatasusunan.
Versi Lebih Pendek dengan Operator Hamparan
[...Array(10).keys()] // Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Operator hamparan (...) membolehkan anda untuk mengembangkan sesuatu yang boleh diubah ke dalam elemen individunya. Oleh itu, versi lebih pendek bagi penyelesaian sebelumnya menggunakan operator hamparan untuk mencapai hasil yang sama.
Bermula dari 1
Untuk memulakan julat dari 1 dan bukannya 0, anda boleh menggunakan fungsi map() bersama dengan Array.from():
Array.from({length: 10}, (_, i) => i + 1) // Result: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Fungsi map() mengubah setiap elemen dalam lelaran. Di sini, setiap elemen ialah nilai yang diluluskan daripada tatasusunan asal, diwakili oleh pemegang tempat _, dan indeks yang sepadan, diwakili oleh i. Transformasi menambah 1 pada indeks, memulakan julat dari 1. Hasilnya kemudiannya dihantar ke Array.from() untuk mencipta tatasusunan akhir.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Tatasusunan dengan Cekap dengan Nilai Julat dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!