Javascript 如何仅显示最后100行

Javascript 如何仅显示最后100行,javascript,jquery,html,Javascript,Jquery,Html,我正在为一个网页创建一个textarea元素,该元素将按照用户的指示显示某些输出 比如说 var Logger = { log: function (line) { $('logTextArea').append(line + '\n); } } 当我执行追加操作时,是否有一种简单的方法只保留最后100个条目,而消除其余条目?您需要在新行上拆分,并将最后100行切掉。为了缩短演示,我使用了从末尾开始的5行 函数addTime(){ var ts=新日期().toLoca

我正在为一个网页创建一个textarea元素,该元素将按照用户的指示显示某些输出

比如说

var Logger = {
  log: function (line) {
      $('logTextArea').append(line + '\n);
   }
}

当我执行追加操作时,是否有一种简单的方法只保留最后100个条目,而消除其余条目?

您需要在新行上拆分,并将最后100行切掉。为了缩短演示,我使用了从末尾开始的5行

函数addTime(){
var ts=新日期().toLocaleString();
var textarea=document.querySelector(“#x”);
var txt=textarea.value.length?textarea.value.split(/\n/g):[];
txt.push(ts);
textarea.value=txt.slice(-5).join(“\n”);
}
window.setInterval(addTime,1000)

我建议只保留一个行数组,把新行推到上面,然后把行移走。然后只需使用转换为字符串并将textarea设置为该值

var记录器=函数(){
var行=[];
返回{
日志:函数(行){
如果(线条长度>100){
lines.shift();//删除第一行
}
line.push(line);//添加新的
$('#logTextArea').val(lines.join('\n'));
}
};
};
变量记录器=新记录器();
对于(变量x=0;x<110;x++){
logger.log(x.toString());
}
textarea{
宽度:300px;
高度:200px;
}


\n
上进行合并,以获得最后100个。或者您可以使用
拆分数组的第一行。当用户提交它时,您可以执行递归循环(从最后一个条目开始,然后移到开始处),在那里您可以通过附加它们的方式找到新行(带“\n”)。请更具体地说明此UI需要如何工作。“由用户指导”是指扫描用户编辑文本区域中的文本还是只读?如果您提供