Подтвердить что ты не робот

Разделить строку на массив

В JS, если вы хотите разделить пользовательский вход в массив, что лучше всего подходит для него?

Например:

entry = prompt("Enter your name")

for (i=0; i<entry.length; i++)
{
entryArray[i] = entry.charAt([i]);
}

// entryArray=['j', 'e', 'a', 'n', 's', 'y'] after loop

Возможно, я об этом поступил неправильно - буду признателен за любую помощь!

4b9b3361

Ответ 1

Используйте метод .split(). При указании пустой строки в качестве разделителя метод split() возвращает массив с одним элементом на символ.

entry = prompt("Enter your name")
entryArray = entry.split("");

Ответ 2

использовать var array = entry.split("");

Ответ 3

ES6:

const array = [...entry]; // entry="i am" => array=["i"," ","a","m"]

Ответ 4

Вы можете попробовать следующее:

var entryArray = Array.prototype.slice.call(entry)

Ответ 5

... а также для тех, кто любит литературу в CS.

array = Array.from(entry);

Ответ 6

Использовать метод split:

entry = prompt("Enter your name");
entryArray = entry.split("");

Подробнее см. String.prototype.split().

Ответ 7

Вам нравятся неанглийские имена? Если это так, все представленные решения (.split(''), [... str], Array.from(str) и т.д.) Могут давать плохие результаты в зависимости от языка:

"प्रणव मुखर्जी".split("") // the current president of India, Pranab Mukherjee
// returns ["प", "्", "र", "ण", "व", " ", "म", "ु", "ख", "र", "्", "ज", "ी"]
// but should return ["प्", "र", "ण", "व", " ", "मु", "ख", "र्", "जी"]

Рассмотрим использование библиотеки разделителей графема для чистого стандартного разделения: https://github.com/orling/grapheme-splitter