2015-12-30 2 views
0

Я хочу создать свойство на пользовательском элементе полимера, который позволит пользователю определить количество повторяющихся элементов.Преобразование числа (например, 5) в длину массива

<my-element repeated-elements='5'></my-element> 

Это должно указывать моему элементу пять раз повторить элемент внутри компонента. Для этого мне нужен массив с длиной 5, так что все, как это будет делать:

['','','','',''] 

Есть ли способ сделать это в JavaScript? Число будет передано как число, а не строка. Поэтому мне как-то понадобится преобразовать любое число в количество элементов массива в массиве. Образно говоря:

convertToArrayLength(5); 

Я полностью потерял здесь, я понятия не имею, вообще, как это можно сделать.

+2

Как насчет 'вар а = новый Array (5);' – SpiderPig

ответ

4

array constructor делает именно это:

var arr = Array(5); 

console.log(arr, arr.length); 
//=> Array [ <5 empty slots> ] 5 

Вам не нужно ставить new перед вызовом Array (только особенность API).

Примечание хотя, что массивы в JavaScript являются динамическими, так что большую часть времени вам не нужно, чтобы заранее определить длину вашего массива и может просто инициализировать переменную:

var arr = []; 
// And then push to it as you go: 
arr.push(x); 
+0

Спасибо, именно то, что я был находясь в поиске. Всего через несколько секунд после публикации я понял, что это можно было бы сделать легко и для петли. Иногда вы теряете все свои навыки решения проблем, потому что слишком много думаете о библиотеках, таких как lodash lol ... –

+0

Ага, эта библиотека довольно сложна для новичков. Я также боялся смешивать библиотеки с самим языком при обучении JS, поэтому я действительно начал касаться jQuery через год после начала изучения ванильного JavaScript, в то время как некоторые люди * начинают * изучать jQuery раньше всего, но потом им трудно понять, как язык действительно работает. – lleaff

0

JavaScript будет повторно размера массив автоматически, когда вы нажимаете на него.

var array = new Array(5); // undefined 
array.length; // 5 
array.push("FOO"); // 6 
array.length; // 6 

Все, что вам нужно сделать, это убедиться, что вы назначаете переменную как массив либо [] или new Array

Смежные вопросы