Javascript: конвертировать текстовые области в массив
Как бы вы разбили значение textarea на массив, основанный на конце разделения строк? Использование jQuery круто мной...
5 ответов
Это должно работать (проверено в Firefox и Google Chrome):
var arrayOfLines = $('#textAreaID').val().split('\n');
Кроссплатформенный способ:
var area = document.getElementById("area");
var lines = area.value.replace(/\r\n/g,"\n").split("\n");
var stringArray = document.getElementById('textarea').value.split('\n');
Мне больше всего нравится "кроссплатформенный способ" ответа ( /questions/2830502/javascript-konvertirovat-tekstovyie-oblasti-v-massiv/2830522#2830522), поскольку в прошлом я сталкивался с вводом с Mac. Тем не менее я думаю, что для большинства существующих ответов можно было бы сделать дополнительный шаг.
В частности, что, если некоторые строки пусты? Следующее отфильтрует такие строки, так что мы получим "компактный" массив, а не "разреженный" (или, по крайней мере, вместо массива с элементами, не содержащими значений)
var area = document.getElementById("area");
var lines = area.value.replace(/\r\n/g,"\n").split("\n").filter(line => line);
Этот метод работал хорошо:
var textArea = document.getElementById("textAreaId");
var arrayFromTextArea = textArea.value.split(String.fromCharCode(10));
Вы можете попробовать эту функцию:
function textToArray(){
var someArray = [];
var nameList = $("#txtArea").val();
$.each(nameList.split(/\n/), function (i, name) {
// empty string check
if(name != ""){
someArray.push(name);
}
});
взято из: КОНВЕРТ ТЕКСТАРЕА СОДЕРЖИМОГО В МАРШРУТ С ИСПОЛЬЗОВАНИЕМ JQUERY