我的textfield有这个值:
"1
2 2
3
4 4
5 a
6
7
8
"
当我用“\ n”分割它时,我得到:
["1", "2 2", "3", "4 4", "5 a", "6", "7", "8", ""]
我想删除最后一个元素。我这样做:
$('#textArrayId').val().replace($('#textArrayId').val().split("\n")[$('#textArrayId').val().split("\n").length - 1], "")
我无法删除它。怎么办?
我想用字符串操作,而不是数组操作。
答案 0 :(得分:3)
要删除最后一行,请使用此
var lines = $('#textArrayId').val().split("\n");
var withoutLastLine = lines.slice(0, -1).join("\n");
$('#textArrayId').val(withoutLastLine);
或者如果你想删除没有空格的最后一行:
var lines = $.trim($('#textArrayId').val()).split("\n");
var withoutLastLine = lines.slice(0, -1).join("\n");
$('#textArrayId').val(withoutLastLine);
要删除数组的最后一个元素,请使用此表达式接收除最后一个元素之外的所有元素:
x.slice(0, -1)
答案 1 :(得分:2)
最好在拆分之前修剪空白。这样你就可以更有力地处理输入:
var lines = document.getElementById('textArrayId').value
.replace(/^\s+|\s+$/g,'').split(/\s+/);
分割中使用的正则表达式也允许输入,如:
1 2
3 4 5 6
7 8
另请注意:没有使用jQuery ^ _ ^
答案 2 :(得分:1)
您可以像[7]一样使用有界数组来存储1到8之间的值。