trong javascript làm cách nào để tạo một mảng trống có kích thước nhất định
Mã psuedo:
X = 3;
createarray(myarray, X, "");
đầu ra:
myarray = ["","",""]
trong javascript làm cách nào để tạo một mảng trống có kích thước nhất định
Mã psuedo:
X = 3;
createarray(myarray, X, "");
đầu ra:
myarray = ["","",""]
Câu trả lời:
var arr = new Array(5);
console.log(arr.length) // 5
in javascript how would I create an empty array of a given size. Điều này giải quyết vấn đề đó.
1) Để tạo mảng mới mà bạn không thể lặp lại , bạn có thể sử dụng hàm tạo mảng:
Array(100) hoặc là new Array(100)
2) Bạn có thể tạo mảng mới, có thể được lặp lại như sau:
a) Tất cả các phiên bản JavaScript
Array.apply(null, Array(100))b) Từ phiên bản JavaScript ES6
[...Array(100)]Array(100).fill(undefined)Array.from({ length: 100 })Bạn có thể ánh xạ qua các mảng này như bên dưới.
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)với là empty x 10000gì?
console.log(Array(10000).length)Nhưng nếu bạn chạy Array(10000).forEach((u, i) => console.log(i)), bạn sẽ nhận được không có đầu ra
Array.apply('x', Array(10))thực sự là[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Chúng tôi sử dụng Array.from({length: 500})từ năm 2017.
Hãy thử sử dụng whilevòng lặp,Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
Ngoài ra, sử dụng Array.prototype.fill()
var myArray = Array(3).fill("");
.fill()là một giải pháp thanh lịch một lớp lót. Cảm ơn!
Trong năm 2018 và kể từ đó, chúng tôi sẽ sử dụng [...Array(500)]để kết thúc điều đó.
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })().
Kể từ ES5 (khi câu trả lời này được đưa ra):
Nếu bạn muốn một mảng rỗng các undefinedphần tử, bạn chỉ cần làm
var whatever = new Array(5);
cái này sẽ cho bạn
[undefined, undefined, undefined, undefined, undefined]
và sau đó nếu bạn muốn nó chứa đầy các chuỗi trống, bạn có thể làm
whatever.fill('');
cái nào sẽ cho bạn
["", "", "", "", ""]
Và nếu bạn muốn làm điều đó trong một dòng:
var whatever = Array(5).fill('');
new Array(2)và những gì tôi nhận lại thì [ <2 empty items> ]không [undefined, undefined]. Sử dụng .maptrước đây không có tác dụng. Tuy nhiên, tôi có thể lặp lại nó bằng cách sử dụng một for...ofvòng lặp. Nếu tôi tạo một mảng mới bằng cách sử dụng ký hiệu chữ a = [undefined, undefined]thì tôi có thể sử dụng .maptrên đó.
Array(5). Bạn sẽ thấy kết quả như sau: [undefined x 5].
Nếu bạn muốn tạo mảng ẩn danh với một số giá trị để bạn có thể sử dụng cú pháp này.
var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)
Bạn có thể sử dụng cả hai phương thức javascript repeat () và split () cùng nhau.
" ".repeat(10).split(" ")
Mã này sẽ tạo một mảng có 10 mục và mỗi mục là chuỗi trống.
const items = " ".repeat(10).split(" ")
document.getElementById("context").innerHTML = items.map((item, index) => index)
console.log("items: ", items)
<pre id="context">
</pre>