-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmessage.js
More file actions
38 lines (21 loc) · 884 Bytes
/
Copy pathmessage.js
File metadata and controls
38 lines (21 loc) · 884 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function truncateMessage(message,k){
if(k < 3) return "..."
if(message.length <= k) return message;
let words = message.split(" ");
let results = [];
let length = 0;
for(let word of words){
if(length + word.length + ( results.length > 0 ? 1 : 0 ) > k - 4){
return results.length ? results.join(" ") + " ..." : "..."
}
results.push(word);
length += word.length + (results.length > 1 ? 1 : 0);
}
return results.join(" ")
}
console.log(truncateMessage("And now here is my secret", 15));
console.log(truncateMessage("There is an animal with four legs", 15));
console.log(truncateMessage("super dog", 4));
console.log(truncateMessage("how are you", 20));
console.log(truncateMessage("A quick brown fox jumps over the lazy dog", 10));
console.log(truncateMessage("Truncate this message", 5));