通过新行(包括空行)将textarea中的文本拆分为javascript数组
我正在尝试将文本拆分为拆分textarea数据的新行。 我当前的代码工作,除了一个小的要求:结果数组也必须包含空行 。
$(function(){ var lines = []; $.each($('#data').val().split(/\n/), function(i, line){ if(line){ lines.push(line); } }); console.log(lines); });
目前的结果是:
[“我喜欢吃冰淇淋。狗很快。”,“”,“前一行仅由空格组成。”,“最后3行是空的。”,“最后一行。”]
应该是什么:
[“我喜欢吃冰淇淋。狗很快。”,“”,“前一行仅由空格组成。”,“”,“”,“”,“最后3行是空的。”,“” ,“最后一行。”]
你的.split
将包含\ n,但是当line
false时你可以只推一个空字符串……
$(function(){ var lines = []; $.each($('#data').val().split(/\n/), function(i, line){ if(line){ lines.push(line); } else { lines.push(""); } }); console.log(lines); });
这是一个工作示例: JSFiddle
输出:
["I like to eat icecream. Dogs are fast.", "", "The previous line is composed by spaces only.", "", "", "", "The last 3 lines are empty.", "", "One last line."]
或者只是如上面的评论所示(我假设您的示例已经简化,您需要在.each
循环中执行其他.each
):
var lines = $('#data').val().split(/\n/);
JS小提琴