gpt4 book ai didi

javascript - 合并所有数据,直到 JavaScript 中遇到分号

转载 作者:行者123 更新时间:2023-12-03 03:46:00 25 4
gpt4 key购买 nike

我试图合并多行中的所有数据,直到遇到分号 (;)。

输入

1
09;

8
9;

10
9;

1
00
;

2
0;

输出

109
89
109
100
20

如何使用 JavaScript 实现此目的?

该数据不是静态的而是动态的,数据是实时传入的,我需要处理一个数据值直到分号并使用套接字将其推送到浏览器前端。所以我不需要一次处理所有数据然后推送它。

这样做:

console.log("before: ",receivedData);
console.log("after: ",receivedData.split('\n').join('').split(';').join('\n'));

结果:

after:
before: 2
after: 2
before: 05
after: 05
before: ;
after:

before:

after:
before: 2
after: 2
before: 12
after: 12
before: ;
after:

每半秒(500 毫秒)就会有新数据出现。我不确定它的处理速度是否太快?我猜它只是实时的,所以没有时间进行计算?

最佳答案

您正在寻找的代码可能是这样的:

var buffer = '';

function process(data){
var separatorIndex;
while((separatorIndex = data.indexOf(';')) !== -1){
send(buffer + data.substr(0, separatorIndex));
buffer = '';
data = data.substr(separatorIndex + 1);
}
buffer += data;
}

function send(data){
console.log(data);
}

process('123');
process('456;789;123');
process(';');

如果您可以累积所有数据并立即对其进行转换,test.replace(/[^0-9;]|;$/g, '').replace(/;/g, '\r\n') 应该可以解决问题。第一个正则表达式删除所有不是数字或分号的内容(以防万一末尾有分号),第二个调用用换行符替换所有分号。

关于javascript - 合并所有数据,直到 JavaScript 中遇到分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388595/

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