Разделение строки JavaScript на «символы» можно сделать тривиально, но есть проблемы, если вам небезразличен Юникод (и вы должны заботиться о Юникоде).Разделить строку JavaScript в массив кодовых точек? (с учетом «суррогатных пар», но не «графемных кластеров»)
JavaScript изначально обрабатывает символы как 16-битные объекты (UCS-2 or UTF-16), но это не позволяет использовать символы Unicode за пределами BMP (Basic Multilingual Plane).
Чтобы иметь дело с символами Unicode за пределами BMP, JavaScript должен учитывать «surrogate pairs», который он не делает изначально.
Я ищу, как разбить строку js на код, независимо от того, требуется ли кодовым точкам один или два символа JavaScript (единицы кода).
В зависимости от ваших потребностей, Расщепление codepoint не может быть достаточно, и вы можете разделить на «grapheme cluster», где кластер является базовым элементом кода следует все его без распорного модифицирующего кодовых, таких как combining accents and diacritics.
Для целей этого вопроса мне не требуется разделение кластерами графем.
Для современного решения итерации по строке с учетом суррогатных пар см. Https://stackoverflow.com/questions/1966476/javascript-process-each-letter-of-text/36392879#36392879 – hippietrail