у javascript, як би я створив порожній масив заданого розміру
Код Psuedo:
X = 3;
createarray(myarray, X, "");
вихід:
myarray = ["","",""]
у javascript, як би я створив порожній масив заданого розміру
Код Psuedo:
X = 3;
createarray(myarray, X, "");
вихід:
myarray = ["","",""]
Відповіді:
var arr = new Array(5);
console.log(arr.length) // 5
in javascript how would I create an empty array of a given size. Це вирішує цю проблему.
1) Щоб створити новий масив, який ви не можете повторити , ви можете використати конструктор масиву:
Array(100) або new Array(100)
2) Ви можете створити новий масив, який можна повторити, як показано нижче:
а) Усі версії JavaScript
Array.apply(null, Array(100))б) З версії JavaScript ES6
[...Array(100)]Array(100).fill(undefined)Array.from({ length: 100 })Ви можете відобразити ці масиви, як показано нижче.
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)з empty x 10000?
console.log(Array(10000).length)але якщо ви запустите Array(10000).forEach((u, i) => console.log(i)), ви не отримаєте результату
Array.apply('x', Array(10))насправді[undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
Ми використовуємо Array.from({length: 500})з 2017 року.
Спробуйте використати whileцикл,Array.prototype.push()
var myArray = [], X = 3;
while (myArray.length < X) {
myArray.push("")
}
Як варіант, використовуючи Array.prototype.fill()
var myArray = Array(3).fill("");
.fill()- це елегантне рішення для одного вкладиша. Дякую!
У 2018 році і надалі ми будемо використовувати [...Array(500)]з цією метою.
(() => { let n = []; for(var i=0;i<500;i++){y.push("");} return n; })().
Станом на ES5 (коли давали цю відповідь):
Якщо вам потрібен порожній масив undefinedелементів, ви можете просто зробити
var whatever = new Array(5);
це дало б вам
[undefined, undefined, undefined, undefined, undefined]
а потім, якщо ви хочете, щоб він був заповнений порожніми рядками, ви могли б це зробити
whatever.fill('');
що дасть вам
["", "", "", "", ""]
І якщо ви хочете зробити це в один рядок:
var whatever = Array(5).fill('');
new Array(2)а те, що я повертаю, - [ <2 empty items> ]ні [undefined, undefined]. Використання .mapпершого не впливає. Однак я можу перебирати його за допомогою for...ofциклу. Якщо я створюю новий масив, використовуючи буквальні нотації, a = [undefined, undefined]я можу використовувати .mapйого.
Array(5). Ви побачите наступний висновок: [undefined x 5].
Якщо ви хочете створити анонімний масив з деякими значеннями, щоб використовувати цей синтаксис.
var arr = new Array(50).fill().map((d,i)=>++i)
console.log(arr)
Ви можете використовувати обидва методи javascript repeat () і split () разом.
" ".repeat(10).split(" ")
Цей код створить масив із 10 елементами, а кожен елемент - порожній рядок.
const items = " ".repeat(10).split(" ")
document.getElementById("context").innerHTML = items.map((item, index) => index)
console.log("items: ", items)
<pre id="context">
</pre>