Как я могу преобразовать строку в массив JavaScript?
Посмотрите на код:
var string = "0,1";
var array = [string];
alert(array[0]);
В этом случае alert
появится всплывающее окно 0,1
. Когда это будет массив, он будет всплывать 0
, а когда alert(array[1]);
вызывается, он должен всплывать 1
.
Есть ли шанс преобразовать такую строку в массив JavaScript?
javascript
arrays
string
Скотт
источник
источник
string[0] === '0'
в вашем вопросе), в большинстве случаев вы можете рассматривать строку как массив символов и использовать для этого методы массива.Ответы:
Для простых членов массива, как это, вы можете использовать
JSON.parse
.Это дает вам массив чисел.
Если вы используете
.split()
, вы получите массив строк.Просто знайте, что
JSON.parse
ограничит вас поддерживаемыми типами данных. Если вам нужны такие значения, какundefined
или функции, вам нужно использоватьeval()
или синтаксический анализатор JavaScript.Если вы хотите использовать
.split()
, но вам также нужен Массив чисел, вы можете использовать егоArray.prototype.map
, хотя вам нужно уменьшить его для IE8 и ниже или просто написать традиционный цикл.источник
JSON.parse();
в виду, что не доступно в IE6, IE7. Я думаю, что в этом случаеString.split(',');
легче.var array = (new Function("return [" + string + "];"))()
. Использование.split()
в порядке, если числа не нужны, в противном случае вам необходимо отобразить результат.eval
). Если массив содержит значения из входных данных на стороне клиента, это будет небезопасно.Разделить его на
,
персонажа;источник
Это легко достигается в ES6 ;
Вы можете конвертировать строки в массивы с помощью Array.from ('string') ;
будет console.log
Что именно то, что вы ищете.
источник
JSON.parse
доArray.from
полудня с помощьюES6
. СпасибоRay Kim
Array.from("0, 1, 233")
вернется["0", ",", " ", "1", ",", " ", "2", "3", "3"]
, что если я захочу[0, 1, 233]
?Set
строкой.Если строка уже в формате списка, вы можете использовать JSON.parse:
источник
Конвертировать все типы строк
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
Результат в консоли
Некоторая практика не поддерживает объектные строки
источник
Для таких простых элементов массива вы можете использовать JSON.parse.
Это дает вам массив чисел.
теперь значение вашей переменной похоже на array.length = 1
Значение вывода
источник
Ты можешь использовать
split
Ссылка: http://www.w3schools.com/jsref/jsref_split.asp
"0,1".split(',')
источник
Еще один вариант использования ES6 - использование синтаксиса Spread .
var convertedArray = [..."01234"];
источник
используйте встроенную функцию map с анонимной функцией, например так:
[править] вот как бы вы его использовали
источник
"123, 'a string with a , comma', 456"
. Вы можете использовать более сложное регулярное выражение для правильной обработки таких случаев (например, что-то вроде предложенного здесь ).Больше примеров "Попробуйте сами" ниже.
Определение и использование Метод split () используется для разбиения строки на массив подстрок и возвращает новый массив.
Совет: если в качестве разделителя используется пустая строка (""), строка разделяется между каждым символом.
Примечание. Метод split () не изменяет исходную строку.
источник
Вы можете использовать javascript Spread Syntax для преобразования строки в массив. В приведенном ниже решении я удаляю запятую, а затем преобразую строку в массив.
источник
Как преобразовать разделенную запятыми строку в массив в JavaScript?
Дополнительные примеры преобразования строки в массив в javascript с использованием следующих способов:
Split () с предельным аргументом
проверьте эту ссылку ==> https://www.tutsmake.com/javascript-convert-string-to-array-javascript/
источник
Я удаляю символы '[', ']' и делаю их с помощью ','
источник
Split (",") может конвертировать строки с запятыми в массив String, вот мой фрагмент кода.
источник
// => объявление регулярного выражения
[a-zA-Z0-9] => соответствовать всем аз, AZ, 0-9
(): => группировать все совпадающие элементы
$ 1 => строка замены относится к первой группе совпадений в регулярном выражении.
g => глобальный флаг
источник
Пример использования
Array.filter
:источник
Почему бы вам не заменить
,
запятую иsplit('')
строку, подобную этой, что приведет к['0', '1']
тому, что вы можете заключить результат вparseInt()
преобразование элемента в целочисленный тип.источник