gpt4 book ai didi

javascript - Extendscript Javascript 计算结果错误

转载 作者:行者123 更新时间:2023-12-03 16:26:52 25 4
gpt4 key购买 nike

我正在编写 InDesign 脚本并使用 moments.js 计算日期。

当我使用日期格式“Do”时,它应该返回例如“1st, 2nd, 3rd, 4th...”,但是函数执行的计算返回了错误的结果,结果是这样的:

第一名第二名第三名第四名5日6日7日8号9号10号11号12号13号14日15日16日17日18日19日20日21日22日23日24日25日26日27日28日29日30号31日

这是函数:

function returnOrdinal(number) {
var b = number % 10,
output = (parseInt(number % 100 / 10) === 1) ? 'th' :
(b === 1) ? 'st' :
(b === 2) ? 'nd' :
(b === 3) ? 'rd' : 'th';
return number + output;
}

我创建了一个 JSFiddle它使用相同的函数并返回正确的结果。

那么这是 Extendscript 中的一个已知问题吗?你知道任何其他返回序数的方法吗?任何解决方法?

提前致谢

最佳答案

看起来 ExtendScript 不支持链式三元运算符。据我所知,它是 ECMA 3。InDesign 中的另一个选项 - 只需使用 if else 或 switch

function returnOrdinal(number) {
var b = number % 10;
var output;
if (parseInt(number % 100 / 10) === 1) {
output = 'th';
} else {
switch (number) {
case 1:
output = 'st';
break;
case 2:
output = 'nd';
break;
case 3:
output = 'rd';
break;
default:
output = 'th';
}
}
return number + output;
}

关于javascript - Extendscript Javascript 计算结果错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39214578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com