Как я могу преобразовать строку в массив?
У меня есть следующий массив:
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
Как я могу преобразовать его в массив, как это:
var array = ['Daniel','Alguien','2009',2014];
2 ответа
Решение
Вы можете сделать это следующим образом:
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
var array = mystr.match(/\[.+?\]/g).map(function(value){ // searches for values in []
return value.replace(/[\[\]]/g,""); // removes []
});
Попробуйте использовать следующий код, так как вы видите, что строка разделена запятой, а затем с помощью регулярных выражений необходимая часть была перенесена в новый массив
var mystr = "Name[Daniel],Name2[Alguien],Date[2009],Date[2014]";
var array = mystr.split(",");
re = /\[(.*)\]/;
var newArray = [];
for (var i = 0; i < array.length; i++) {
newArray.push(array[i].match(re)[1]);
}
newArray = ['Daniel', 'Alguien', '2009', 2014];