Какие параметры доступны для localeCompare в Google Apps Script? - PullRequest
0 голосов
/ 29 июня 2018

Кто-нибудь знает, какие варианты доступны?

Консоль Chrome допускает стандарт опции:

'ä'.localeCompare('z', 'de'); // -1
'ä'.localeCompare('z', 'sv'); // 1

Скрипт Google Apps, похоже, игнорирует:

'ä'.localeCompare('z', 'de'); // -1
'ä'.localeCompare('z', 'sv'); // -1

Другие опции также недоступны:

// in German, ä has a as the base letter
'ä'.localeCompare('a', 'de', { sensitivity: 'base' });
// -> 0 in chrome,
// -> 1 in GAS

// in Swedish, ä and a are separate base letters
'ä'.localeCompare('a', 'sv', { sensitivity: 'base' });
// -> 1 in chrome
// -> 1 in GAS

Имеет ли это какое-либо отношение к локали активного пользователя? Или у GAS просто урезанная версия localeCompare? Или я делаю это неправильно?

1 Ответ

0 голосов
/ 30 июня 2018

имеет ли GAS просто урезанную версию localeCompare

Да, это так. Он работает на Rhino (реализация JS на Java), в которой localeCompare игнорирует все аргументы после первого. Например,

"a".localeCompare("b", "c", "d")

, очевидно, недопустимо в ECMAScript, но работает в GAS, аргументы "c" и "d" игнорируются.

Это несколько похоже на ситуацию с toLocaleString, который действует как toString .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...