1

我的文本字段有这个值:

"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], "")

而且我无法删除它。该怎么办?

我想用字符串操作而不是数组操作来做到这一点。

4

3 回答 3

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)
于 2012-10-12T15:08:10.390 回答
2

最好在拆分之前修剪掉空格。这样您就可以更稳健地处理输入:

var lines = document.getElementById('textArrayId').value
               .replace(/^\s+|\s+$/g,'').split(/\s+/);

拆分中使用的正则表达式也将允许输入如下:

1    2
  3         4  5 6
 7    8

另请注意:未使用 jQuery ^_^

于 2012-10-12T15:09:03.750 回答
1

您可以使用像 a[7] 这样的有界数组来存储从 1 到 8 的值。

于 2012-10-12T15:16:30.530 回答