我有一个whatsapp聊天导出我想使continuos消息作为单一消息the messages are given below i want to make the continuos messages as single message
My NodeJs code
in this code i read the data from txt file a store in array
则连续的消息应该放在一个对象下
this program only joins two messages only not join the third onehow do i join the third element in the object`
const fs = require("fs");
var data = JSON.parse(fs.readFileSync("file.txt"));
var newData = [];
data.forEach((x, index, arr) => {
if (index < arr.length - 1) {
y = arr[index + 1];
xkey = Object.keys(x);
ykey = Object.keys(y);
//console.log(xkey, ykey);
if(xkey[0] == ykey[0]) {
x = { [xkey]: x[xkey] + " " + y[ykey] };
delete arr[index + 1];
}
newData.push(x);
}
});
console.log(newData);
This is the text file
[
{ itachi: 'Sir' },{ itachi: 'hi ' },{ itachi: 'hello' },
{ Batman: 'hi' },Batman: 'how r u' },{ itachi: 'fine' },
]
The Output i got
[
{ itachi: 'Sir || hi' },{ itachi: 'hello' },
{ Batman: 'hi ||how r u' },{ itachi: 'fine' },
]
The desired Output
{ itachi: 'Sir || hi ||hello' }, { Batman: 'hi ||how r u' }, { itachi: 'fine' },
]
2条答案
按热度按时间sr4lhrrt1#
你只需要检查最终值。因为代码
index < arr.length - 1
跳过了最后一个值fgw7neuy2#
我找到了答案:我将消息存储在下一个元素中,以便它再次检查值: