0
votes

Comment obtenir la sortie contre les trimestres par exemple "FY18 Q1" lorsque l'entrée est fournie sous la forme "2018.1"?

Il y a Quatre trimestre I.E. Q1, Q2, Q3 et Q4 pour chaque Année fiscale (FY) . Je veux imprimer:

  • fy18 q1 pour entrée 2018.1
  • fy18 q2 pour entrée 2018.2
  • fy18 q3 pour entrée 2018.3
  • fy18 q4 pour entrée 2018.4

    Le code ci-dessous fonctionne bien mais à la recherche de la meilleure approche. xxx


1 commentaires

Je ne vois aucun code dans la question.


5 Réponses :


3
votes

Il y a plusieurs façons d'y parvenir. Il s'agirait d'utiliser une expression régulière:

p>

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);
})


0 commentaires

2
votes

Vous pouvez remplacer la chaîne avec les pièces recherchées.

p>

var input = '2018.1',
    output = input.replace(/^..(..).(.)$/, 'FY$1 Q$2');
    
console.log(output);


0 commentaires

1
votes

Vous pouvez utiliser .substr code> et .split code> avec des lignes de destruction et de modèle pour former votre chaîne:

p>

const GetFormattedQuarter = quater => 
  (([yr, q]) => `FY${yr.substr(-2)} Q${q}`)(quater.split('.'))
  
console.log(GetFormattedQuarter("2018.1")); // FY18 Q1
console.log(GetFormattedQuarter("2018.2")); // FY18 Q2
console.log(GetFormattedQuarter("2018.3")); // FY18 Q3
console.log(GetFormattedQuarter("2018.4")); // FY18 Q4


0 commentaires

0
votes

Vous pouvez utiliser un moment.js 'pour analyser et formater comme si vous le souhaitez

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>


0 commentaires

0
votes

Coller de près votre code d'origine, vous pouvez facilement réduire la quantité de fonctionnalités similaires avec A pour boucle. Par exemple xxx


0 commentaires