#javascript #string #methods #unicode
#javascript #строка #методы #юникод
Вопрос:
Приведенный ниже фрагмент взят из более крупного кодового блока проекта, задача фрагмента состоит в том, чтобы получить значения в юникоде для каждого символа, и он отлично работает, начиная с чисел 1-9 (0 тоже работает), которые возвращают undefined.
const icons = '$677y8';
for(let i = 0; i < icons.length; i ){
console.log(icons.codePointAt(icons[i]));
}
Кроме того, я попробовал метод charCodeAt()
он возвращает NaN
const icons = '$677y8';
for(let i = 0; i < icons.length; i ){
console.log(icons.charCodeAt(icons[i]));
}
Существует ли другой стандартный метод JavaScript для этого?
Ответ №1:
Вы вызвали его неправильно, это String.prototype.codePointAt(position)
.
Итак, вам нужно передать i
-й индекс в codePointAt
функцию в качестве позиции строки для поиска значения в Юникоде:
const icons = '$677y8';
for (let i = 0; i < icons.length; i ) {
console.log(icons.codePointAt(i));
}
кстати, charCodeAt()
это UTF-16, где as codePointAt()
— Юникод.
//gets UTF-16 values
const icons = '$677y8';
for (let i = 0; i < icons.length; i ) {
console.log(icons.charCodeAt(i));
}
Комментарии:
1. « const icons = ‘$677y8’; console.log(icons.charCodeAt(значки[1])); /* для(пусть i = 0; i < значки. длина; i ){ console.log(icons.charCodeAt(icons[i])); }*/« также возвращает NaN