2015-06-11 5 views
0

мне интересно, если есть способ создать массив JavaScript/JQuery в однострочника, чтобы получить что-то вроде:Динамически создать массив JS заполненный определенным значением

my_array = ['-', '-', ,'-' ,'-'] 

Идея заключается в том, что массив должен быть созданный с динамической длиной и всеми значениями, заполненными заданным значением.

Заранее благодарен!

ответ

1

Try:

var total = 4; 
 
var my_array = new Array(total + 1).join("-").split(""); 
 

 
document.write(JSON.stringify(my_array))

.fill Поддержка Уроженец функция будет добавлена ​​в (ECMAScript 6), но на данный момент нет в наличии.

if(!Array.prototype.fill){ 
    Array.prototype.fill = function(val){ 
     for (var i = 0; i < this.length; i++){ 
      this[i] = val 
     } 
     return this 
    } 
} 

var my_array = new Array(4).fill("-"); //returns ["-","-","-","-"] 
+0

Это работает только если вы хотите, чтобы заполнить массив с одной строкой символов. Попробуйте переключить '' - "' на '" abc ", чтобы понять, что я имею в виду. – naomik

+0

Именно поэтому «нисходящий»?. Причина: вопрос. –

0

Попробуйте использовать:

Array.apply(null, new Array(63)).map(String.prototype.valueOf,"-") 
Смежные вопросы