Google Apps脚本中的localeCompare可以使用哪些选项?

时间:2018-06-29 10:18:10

标签: javascript google-apps-script

有人知道可用的选项吗?

Chrome控制台允许使用standard选项:

'ä'.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 :(得分:1)

  

GAS是否只有一个简化版本的localeCompare

是的,确实如此。它在Rhino(Java上的JS实现)上运行,其中localeCompare忽略第一个参数之后的所有参数。例如,

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

在ECMAScript中显然无效,但在GAS中运行,其中参数“ c”和“ d”被静默忽略。

这与acts as toStringtoLocaleString的情况有些相似。