gpt4 book ai didi

javascript - 从 textarea 中删除顶行的最简洁(和快速)方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:00 25 4
gpt4 key购买 nike

我有一个显示最后 1000 的网页然后通过 AJAX 每 x 更新日志文件行加载新内容(如果有)并使用 $('#log').append(new_data) 附加到 textarea 的秒​​数, 一种 tail -f .

一段时间后,当附加的行过多并且页面变慢或无响应时,问题就会出现。

所以我想将行数限制为 5000,这意味着我应该:

  • 检索 new_data
  • 计算overflow = 5000 - lines_ in_new_data - lines_in_textarea
  • 如果overflow > 0先删除 overflow来自文本区域的行
  • 将 new_data 附加到文本区域

在我看来,这涉及一个或多个 split('\n')两者的 textareanew_data values 然后使用数组长度和切片,但我想是否有更简洁或更好的方法来完成此操作。

最佳答案

您应该能够使用单个 split,然后在 chop 数据后使用 join,如下所示:

// on data retrieved
var total = ((textarea.value
? textarea.value + "\n"
: "")
+ new_data).split("\n");

if (total.length > 10)
total = total.slice(total.length - 10);

textarea.value = total.join("\n");

工作示例:http://jsfiddle.net/ArvQ7/ (为简洁起见,缩减为 10 行)

关于javascript - 从 textarea 中删除顶行的最简洁(和快速)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5937701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com