gpt4 book ai didi

javascript - 当输入提供为 "FY18 Q1"时,如何获取四分之一的输出,例如 "2018.1"?

转载 作者:行者123 更新时间:2023-11-28 12:13:44 24 4
gpt4 key购买 nike

每个财政年度(FY)四个季度,即第一季度、第二季度、第三季度和第四季度。我要打印:

  • FY18 Q1 用于输入 2018.1
  • FY18 Q2 用于输入 2018.2
  • FY18 Q3 用于输入 2018.3
  • FY18 Q4 用于输入 2018.4

下面的代码工作正常,但正在寻找更好的方法。

controller.GetFormattedQuarter = function (quarter) {
if (quarter) {
var newQuarter = String(quarter).replace("20", "FY");
if (newQuarter.indexOf(".1") != -1) {
return newQuarter.replace(".1", " Q1");
}
if (newQuarter.indexOf(".2") != -1) {
return newQuarter.replace(".2", " Q2");
}
if (newQuarter.indexOf(".3") != -1) {
return newQuarter.replace(".3", " Q3");
}
if (newQuarter.indexOf(".4") != -1) {
return newQuarter.replace(".4", " Q4");
}
}
}

最佳答案

有多种方法可以实现这一目标。一种是使用正则表达式:

var arr = ['2018.1', '2018.2', '2018.3', '2018.4'];
arr.forEach(function(q) {
var output = q.replace(/^\d{2}(\d{2})\.(\d)$/, 'FY$1 Q$2');
console.log(output);
})

或者你可以将字符串本身拉开:

var arr = ['2018.1', '2018.2', '2018.3', '2018.4'];
arr.forEach(function(input) {
var parts = input.split('.');
var year = parts[0].slice(-2);
var q = parts[1];
console.log(`FY${year} Q${q}`);
})

另一种方法是将输入作为数字处理:

var arr = ['2018.1', '2018.2', '2018.3', '2018.4'];
arr.forEach(function(input) {
var year = Math.floor(input);
var q = Math.round((input - year) * 10);

var output = `FY${year.toString().slice(-2)} Q${q}`;
console.log(output);
})

关于javascript - 当输入提供为 "FY18 Q1"时,如何获取四分之一的输出,例如 "2018.1"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54667415/

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