У меня есть разделенная запятыми строка, которую я хочу преобразовать в массив, чтобы я мог пройти по ней.
Есть ли что-нибудь встроенное для этого?
Например, у меня есть эта строка
var str = "January,February,March,April,May,June,July,August,September,October,November,December";
Теперь я хочу разделить это запятой, а затем сохранить его в массиве.
javascript
string
split
Бланкмэн
источник
источник
string.split(',');
Ответы:
Ссылка MDN , в основном полезная для возможного непредвиденного поведения
limit
параметра. (Подсказка:"a,b,c".split(",", 2)
выходит["a", "b"]
, нет["a", "b,c"]
.)источник
string
обладает некоторым богатством JavaString
.split
будет работать нормально, если вы уверены, что в нем есть элементыarray
, если вы ожидаете данных с сервера / базы данных, у вас''.split(',')
length === 1
''.split(',') === ['']
Остерегайтесь, если вы стремитесь к целым числам, таким как 1,2,3,4,5. Если вы собираетесь использовать элементы вашего массива как целые числа, а не как строки после разбиения строки, рассмотрите возможность преобразования их в такие.
добавив такой цикл
вернет массив, содержащий целые числа, а не строки.
источник
"001,002,003..."
). СравнитеparseInt('010')
сparseInt('010', 10)
.map
функции можно выполнить целочисленный анализ в одной строке:str.split(',').map(parseInt)
Hmm split опасен imho, так как строка всегда может содержать запятую, соблюдайте следующее:
Так как бы вы это помешали? и какой результат вы хотите получить? массив с:
даже если вы избежите запятой, у вас будут проблемы.
Быстро поиграл:
Не стесняйтесь использовать / редактировать это :)
источник
Метод split () используется для разделения строки на массив подстрок и возвращает новый массив.
источник
var sampleTags = ['vinita@itsabacus.com']; console.log(sampleTags); $("#order_id").on("change", function() { var order_id = document.getElementById('order_id').value; $.ajax({url: "model/getUserMailIds.php",data:{order_id:order_id},type:'POST', success: function(result){ alert(result); var sampleTags = result.split(',');; console.log(sampleTags); }}); });
Обратите внимание, что следующее:
предупредит 1
источник
Передайте строку с разделителями-запятыми в эту функцию, и она вернет массив, а если не найдена строка с разделителями-запятыми, то будет возвращен ноль.
источник
else { ResultArray = [CommaSepStr]; }
после второгоif
Функция возврата
его принимают строку и объектные строки
JSFiddle https://jsfiddle.net/7ne9L4Lj/1/
источник
var stringtext = "String, text, I, am"; var stringtextArray = (new Function("return [" + string text + "];")());
Результат: SyntaxError: Неожиданный идентификаторЯ знаю, что на этот вопрос уже давно отвечают, но я подумал, что мой вклад будет полезен для других, исследующих эту тему ...
Вот функция, которая преобразует строку в массив, даже если в списке есть только один элемент (без символа разделителя):
Используйте это так:
Я создал эту функцию, потому что
split
выдает ошибку, если в строке нет символа-разделителя (только один элемент)источник
'echo'.split(',')
возвращается['echo']
и''.split(',')
возвращается['']
. Вы будете получать сообщение об ошибке , если вы звоните ,x.split(',')
еслиx
это не строка ( в том числе , когдаx
это не определено или нуль ), потому что нетsplit
функции для других типов.split
неопределенный объект, когда писал свою функцию listToArray. Спасибо за указание на это ...У меня была похожая проблема, но более сложная, так как мне нужно было преобразовать CSV в массив массивов (каждая строка представляет собой один элемент массива, внутри которого есть массив элементов, разделенных запятой).
Самым простым решением (и, я уверен, более безопасным) было использование PapaParse ( http://papaparse.com/ ), который имеет опцию «без заголовка», которая превращает CSV в массив массивов, плюс он автоматически обнаружил « как мой разделитель
Плюс, это зарегистрировано в беседке, поэтому мне оставалось только:
а затем использовать его в моем коде следующим образом:
Мне действительно это понравилось.
источник
это приведет к:
и если вы хотите преобразовать следующее в:
это:
использовать:
источник
хорошее решение для этого
источник
Для массива строк в строку через запятую
источник
Вы можете попробовать следующий фрагмент
источник
самый короткий
Показать фрагмент кода
источник