Как вы можете видеть ниже, Intl.NumberFormat.formatToParts
, похоже, отсутствует в Microsoft Edge:
Однако оба MDN и CanIUse говорят мне, что я могу ...
Что я должен делать? Кажется, я не могу найти ни одного веб-сайта, рассказывающего об этой проблеме, и при этом я не могу найти полизаполнение (РЕДАКТИРОВАТЬ: полифилл фактически доступен в MDN, но, как я сказал в моей последней фразе, меня больше интересуют причины, по которым этот метод отсутствует, тогда как MDN и CanIUse говорят, что он доступен в Edge).
Я использую это так:
return (_numberFormat as any).formatToParts(val).map(({type, value}) => {
if (type === 'group')
return ' ';
return value;
}).reduce((string, part) => string + part);
(все, что я делаю, это использую надлежащий пробел вместо символа по умолчанию в Юникоде, который слишком мал для моего клиента)
Я знаю, что мог бы обойти эту проблему (выполняя базовый формат и самостоятельно заменяя пространство юникода или реализуя полифилл), но я гораздо более заинтригован тем фактом, что этот метод, кажется, не существует в Edge, тогда как все на Земле, похоже, убеждены в этом.
Любой вклад приветствуется:)
С уважением,