di javascript bagaimana saya membuat array kosong dengan ukuran tertentu
Kode Psuedo:
X = 3;
createarray(myarray, X, "");
keluaran:
myarray = ["","",""]
di javascript bagaimana saya membuat array kosong dengan ukuran tertentu
Kode Psuedo:
X = 3;
createarray(myarray, X, "");
keluaran:
myarray = ["","",""]
Jawaban:
var arr = new Array(5);
console.log(arr.length) // 5
in javascript how would I create an empty array of a given size. Ini memecahkan masalah itu.
1) Untuk membuat array baru yang tidak dapat Anda lakukan iterasi , Anda dapat menggunakan konstruktor array:
Array(100) atau new Array(100)
2) Anda dapat membuat array baru, yang dapat diulang seperti di bawah ini:
a) Semua versi JavaScript
Array.apply(null, Array(100))b) Dari versi JavaScript ES6
[...Array(100)]Array(100).fill(undefined)Array.from({ length: 100 })Anda dapat memetakan array ini seperti di bawah ini.
Array(4).fill(null).map((u, i) => i) [0, 1, 2, 3]
[...Array(4)].map((u, i) => i) [0, 1, 2, 3]
Array.apply(null, Array(4)).map((u, i) => i) [0, 1, 2, 3]
Array.from({ length: 4 }).map((u, i) => i) [0, 1, 2, 3]
Array(10000)dengan empty x 10000?
console.log(Array(10000).length)Tetapi jika Anda menjalankan Array(10000).forEach((u, i) => console.log(i)), Anda tidak akan mendapatkan output
Array.apply('x', Array(10))sebenarnya[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Kami gunakan Array.from({length: 500})sejak 2017.
Coba gunakan whileloop,Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
Atau, gunakan Array.prototype.fill()
var myArray = Array(3).fill("");
.fill()adalah solusi satu kapal yang elegan. Terima kasih!
Pada 2018 dan selanjutnya kita akan gunakan [...Array(500)]untuk itu.
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })().
Pada ES5 (saat jawaban ini diberikan):
Jika Anda ingin undefinedelemen array kosong , Anda dapat melakukannya
var whatever = new Array(5);
ini akan memberimu
[undefined, undefined, undefined, undefined, undefined]
dan kemudian jika Anda ingin diisi dengan string kosong, Anda dapat melakukannya
whatever.fill('');
yang akan memberimu
["", "", "", "", ""]
Dan jika Anda ingin melakukannya dalam satu baris:
var whatever = Array(5).fill('');
new Array(2)dan apa yang saya dapatkan [ <2 empty items> ]tidak [undefined, undefined]. Menggunakan .mapyang pertama tidak berpengaruh. Namun, saya dapat mengulanginya menggunakan for...ofloop. Jika saya membuat array baru menggunakan notasi literal a = [undefined, undefined]maka saya dapat menggunakannya .map.
Array(5). Anda akan melihat output sebagai berikut: [undefined x 5].
Jika Anda ingin membuat array anonim dengan beberapa nilai sehingga Anda dapat menggunakan sintaks ini.
var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)
Anda dapat menggunakan kedua metode javascript repeat () dan split () bersama-sama.
" ".repeat(10).split(" ")
Kode ini akan membuat array yang memiliki 10 item dan setiap item berupa string kosong.
const items = " ".repeat(10).split(" ")
document.getElementById("context").innerHTML = items.map((item, index) => index)
console.log("items: ", items)
<pre id="context">
</pre>