Something went wrong. Try again.
Measure the width of text in the terminal and build simple layouts!
Something went wrong. Try again.
354 B · 15 lines
JavaScript
at main
12345678910111213141516const str = "😀".repeat(10)
const segmenter = new Intl.Segmenter();function fold_graphemes(str, state, fun) { for (const { segment: grapheme } of segmenter.segment(str)) { state = fun(grapheme, state) } return state}
let sum = 0for(let i = 0; i < 100000; ++i) { sum += fold_graphemes(str, 0, (a, b) => b + a.length)}console.log(sum)