Javascript 从数组中删除最后一个元素(从字符串中删除最后一行)
My textfield具有以下值:Javascript 从数组中删除最后一个元素(从字符串中删除最后一行),javascript,jquery,Javascript,Jquery,My textfield具有以下值: "1 2 2 3 4 4 5 a 6 7 8 " 当我用“\n”分割它时,我得到: 我想删除最后一个元素。我正在这样做: $('#textArrayId').val().replace($('#textArrayId').val().split("\n")[$('#textArrayId').val().split("\n").length - 1], "") 我无法删除它。怎么办 我想用字符串操作而不是数组操作来完成此操作。要删除
"1
2 2
3
4 4
5 a
6
7
8
"
当我用“\n”分割它时,我得到:
我想删除最后一个元素。我正在这样做:
$('#textArrayId').val().replace($('#textArrayId').val().split("\n")[$('#textArrayId').val().split("\n").length - 1], "")
我无法删除它。怎么办
我想用字符串操作而不是数组操作来完成此操作。要删除最后一行,请使用此命令
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)
要删除最后一行,请使用以下命令
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)
最好在拆分之前删除空白。这样,您可以更稳健地处理输入:
var lines = document.getElementById('textArrayId').value
.replace(/^\s+|\s+$/g,'').split(/\s+/);
拆分中使用的正则表达式还允许输入,如:
1 2
3 4 5 6
7 8
另请注意:没有使用jQuery ^ ^最好在分割之前删除空白。这样,您可以更稳健地处理输入:
var lines = document.getElementById('textArrayId').value
.replace(/^\s+|\s+$/g,'').split(/\s+/);
拆分中使用的正则表达式还允许输入,如:
1 2
3 4 5 6
7 8
另请注意:没有使用jQuery ^ ^您可以使用像[7]这样的有界数组来存储从1到8的值。您可以使用像[7]这样的有界数组来存储从1到8的值。当字符串使用空格作为分隔符时,为什么要按换行分割?@Jivings字符串用换行分隔,但是,您需要在一行末尾放置两个空格,以便换行符以降价方式显示。当我按“\n”I get:拆分时,您最近的编辑与
不符。根据您的输入,请描述您想要得到的确切结果。@raina77ow我只想删除最后一个元素。以“8”结尾的数组您的问题仍然不完全清楚。在标题中,它说:“删除字符串的最后一行”,这将是8
,但在您的问题中,它说您要删除数组的最后一个元素,而不是8
。当该字符串使用空格作为分隔符时,为什么要按换行分隔?@Jivings字符串由换行分隔,但是,您需要在一行末尾放置两个空格,以便换行符以降价方式显示。当我按“\n”I get:
拆分时,您最近的编辑与不符。根据您的输入,请描述您想要得到的确切结果。@raina77ow我只想删除最后一个元素。以“8”结尾的数组您的问题仍然不完全清楚。在标题中,它说:“删除字符串的最后一行”,这将是8
,但在您的问题中,它说您希望删除数组的最后一个元素,而不是8
。关闭,但我相信通过这样做可以获得所需的结果:$.trim($('.\textArrayId').val()).split(/\s+/)
@MassivePenguin当然,如果您想清除所有可能不必要的空格。@Srcee您试过我的建议了吗?它应该完成您描述的任务。@phant0m以及之后如何填充文本区域?我尝试了$('#textArrayId').val($.trim($('#textArrayId').val()).split(“\n”)),但它将所有内容都放在了一起line@Srcee根据如何解释你的问题,答案应该是肯定的。我现在编辑了它并添加了一个不同的版本。关闭,但我相信通过这样做可以获得所需的结果:$.trim($('textArrayId').val()).split(/\s+/)
@MassivePenguin当然,如果你想清除所有可能不必要的空白。@Srcee你试过我的建议了吗?它应该完成您描述的任务。@phant0m以及之后如何填充文本区域?我尝试了$('#textArrayId').val($.trim($('#textArrayId').val()).split(“\n”)),但它将所有内容都放在了一起line@Srcee根据如何解释你的问题,答案应该是肯定的。我现在编辑了它并添加了一个不同的版本。如果您想在换行符上进行ony拆分,请尝试以下操作:。拆分(/[\t]*\r?\n[\t]*/)
-这还将删除行首和行尾的所有空白,并处理CRLF而不仅仅是LF的可能性。如果您想在换行符上进行ony拆分,请尝试以下操作:。拆分(/[\t]*\r?\n[\t]*/)
-这还将删除行首和行尾的任何空白,并处理CRLF而不仅仅是LF的可能性。