di javascript bagaimana saya membuat array kosong dengan ukuran tertentu
Kode Psuedo:
X = 3;
createarray(myarray, X, "");
keluaran:
myarray = ["","",""]
javascript
gus
sumber
sumber
Jawaban:
var arr = new Array(5); console.log(arr.length) // 5
sumber
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)
ataunew 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]sumber
Array(10000)
denganempty x 10000
?console.log(Array(10000).length)
Tetapi jika Anda menjalankanArray(10000).forEach((u, i) => console.log(i))
, Anda tidak akan mendapatkan outputArray.apply('x', Array(10))
sebenarnya[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Kami gunakan
Array.from({length: 500})
sejak 2017.sumber
Coba gunakan
while
loop,Array.prototype.push()
var myArray = [], X = 3; while (myArray.length < X) { myArray.push("") }
Atau, gunakan
Array.prototype.fill()
var myArray = Array(3).fill("");
sumber
.fill()
adalah solusi satu kapal yang elegan. Terima kasih!Pada 2018 dan selanjutnya kita akan gunakan
[...Array(500)]
untuk itu.sumber
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })()
.Pada ES5 (saat jawaban ini diberikan):
Jika Anda ingin
undefined
elemen array kosong , Anda dapat melakukannyavar 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('');
sumber
new Array(2)
dan apa yang saya dapatkan[ <2 empty items> ]
tidak[undefined, undefined]
. Menggunakan.map
yang pertama tidak berpengaruh. Namun, saya dapat mengulanginya menggunakanfor...of
loop. Jika saya membuat array baru menggunakan notasi literala = [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)
sumber
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>
sumber