Javascript text区域,删除最后一段

Javascript text区域,删除最后一段,javascript,join,split,textarea,Javascript,Join,Split,Textarea,我想从Textarea中删除最后一段,但我的脚本只运行一次——有没有办法每次单击按钮时删除最后一段 Lorem ipsum dolor sit amet,是一位杰出的领导者。自由女神。Sed convallis magna eu sem。佩伦茨克智人。 对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。 这是一个很好的例子。这是一个很好的例子。我是维韦拉,我不是胡斯托。 阿利奎姆·埃拉特·帕特。埃尼安鼠。Nu

我想从Textarea中删除最后一段,但我的脚本只运行一次——有没有办法每次单击按钮时删除最后一段


Lorem ipsum dolor sit amet,是一位杰出的领导者。自由女神。Sed convallis magna eu sem。佩伦茨克智人。
对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。
这是一个很好的例子。这是一个很好的例子。我是维韦拉,我不是胡斯托。
阿利奎姆·埃拉特·帕特。埃尼安鼠。Nullam justo enim、Concertetuer nec、ullamcorper ac、门厅in、elit。在康瓦利斯。
去除
函数删除(){
var elem=document.getElementById('V1'),
val=elem.value.split(/(?:\r\n |\r |\n)/g);
val.pop();
elem.value=val.join('\r\n')+('\r\n');
}

Lorem ipsum dolor sit amet,是一位杰出的领导者。自由女神。Sed convallis magna eu sem。佩伦茨克智人。
对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。
这是一个很好的例子。这是一个很好的例子。我是维韦拉,我不是胡斯托。
阿利奎姆·埃拉特·帕特。埃尼安鼠。Nullam justo enim、Concertetuer nec、ullamcorper ac、门厅in、elit。在康瓦利斯。
去除
函数删除(){
var elem=document.getElementById('V1'),
val=元素值分割(“\n”);
val.pop();
elem.value=val.join(“\n”);
}

Lorem ipsum dolor sit amet,是一位杰出的领导者。自由女神。Sed convallis magna eu sem。佩伦茨克智人。
对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。
这是一个很好的例子。这是一个很好的例子。我是维韦拉,我不是胡斯托。
阿利奎姆·埃拉特·帕特。埃尼安鼠。Nullam justo enim、Concertetuer nec、ullamcorper ac、门厅in、elit。在康瓦利斯。
去除
函数删除(){
var elem=document.getElementById('V1'),
val=元素值分割(“\n”);
val.pop();
elem.value=val.join(“\n”);
}

这可以使用
filter()
方法完成。删除时,线之间的间距将保留

函数删除(){
var elem=document.getElementById('V1'),
val=elem.value.split(/(?:\r\n |\r |\n)/g).filter(函数(i){
返回i;
});
val.pop();
elem.value=val.join('\n\r');
}
Lorem ipsum door sit amet,继续成为一名精英。自由女神。Sed convallis magna eu sem。佩伦茨克智人。
对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。
这是一个很好的例子。这是一个很好的例子。我是维韦拉,我不是胡斯托。
阿利奎姆·埃拉特·帕特。埃尼安鼠。Nullam justo enim、Concertetuer nec、ullamcorper ac、门厅in、elit。在康瓦利斯。

删除
这可以使用
filter()
方法完成。删除时,线之间的间距将保留

函数删除(){
var elem=document.getElementById('V1'),
val=elem.value.split(/(?:\r\n |\r |\n)/g).filter(函数(i){
返回i;
});
val.pop();
elem.value=val.join('\n\r');
}
Lorem ipsum door sit amet,继续成为一名精英。自由女神。Sed convallis magna eu sem。佩伦茨克智人。
对于所有的错误,我们都要清楚地认识到这一点,因为我们必须清楚地认识到,所有人都应该受到赞扬、尊重和尊重,因为他们都是发明家和准建筑师。
这是一个很好的例子。这是一个很好的例子。我是维韦拉,我不是胡斯托。
阿利奎姆·埃拉特·帕特。埃尼安鼠。Nullam justo enim、Concertetuer nec、ullamcorper ac、门厅in、elit。在康瓦利斯。

删除
您必须
过滤
空字符串,因为
pop
会删除数组的最后一项,但有时您的最后一项是:
“”

为了实现这一点,我使用了双重爆炸返回基于该值的布尔值

有关“双重爆炸”的更多信息:

因此,我将+1
\r\n
添加到
join
以保留空行

function remove() {
  var elem = document.getElementById('V1');
  var val = elem.value.split(/(?:\r\n|\r|\n)/g).filter(paragraph => !!paragraph);

  val.pop();

  elem.value = val.join('\r\n\r\n');
}

您必须过滤空字符串,因为
pop
会去除数组的最后一项,但有时您的最后一项是:
“”

为了实现这一点,我使用了双重爆炸返回基于该值的布尔值

有关“双重爆炸”的更多信息:

因此,我将+1
\r\n
添加到
join
以保留空行

function remove() {
  var elem = document.getElementById('V1');
  var val = elem.value.split(/(?:\r\n|\r|\n)/g).filter(paragraph => !!paragraph);

  val.pop();

  elem.value = val.join('\r\n\r\n');
}

您正在最后添加一个
\r\n
序列。后续调用将仅删除该部分。如果省略此项而改为修剪文本,则应该可以:


Lorem ipsum dolor sit amet,是一位杰出的领导者。自由女神。Sed convallis magna eu sem。佩伦茨克智人。
在所有人都有错误的情况下,我们必须清楚地看到,所有人都有错误