Как привести строку к массиву? Не используя метод split

102
15 февраля 2021, 04:10

Допустим есть определенная строка слов, через запятую

let str = 'cat, dog, "home, happy", draw';

Вопрос, можно ли как то привести данную строку к массиву, так, что бы значение в кавычках было отдельным элементом массива:

["cat", "dog", ""home happy"", "draw"]
Answer 1

var s = 'cat, dog, "home, happy", draw' 
var a = s.match(/"[^"]*"|\w+/g) 
console.log(a)

var s = 'cat, собака, "home, happy", draw, 128, 1+2,3' 
var a = s.match(/"[^"]*"|[^\s,]+/g) 
console.log(a)

var s = 'cat, собака, "home, happy", draw, 128, 1+2,3' 
var a = s.match(/\s*"[^"]*"|((?!, ).)+/g).map(s => s.trim()) 
console.log(a)

Answer 2

Попробуйте JSON.parse или метод from

READ ALSO
Перезапись переменных в функциях JS

Перезапись переменных в функциях JS

Первый день изучаю JSЗадача: спарсить курс биткоина в долларах, спарсить курс доллара в рублях, перемножить значения

106
Сериализация формы с групповыми полями

Сериализация формы с групповыми полями

Мне нужно передать поля формы get параметром, при этом группы полей например:

109
Высота блока под картинку с “position: absolute”

Высота блока под картинку с “position: absolute”

У меня в блоке есть картинка со свойством "position", которое имеет значение "asbolute"Картинка намного больше блока, и мне бы хотелось, чтобы блок...

126