当对数组中的值使用let和const时,Linter错误

时间:2018-06-26 09:46:25

标签: javascript arrays ecmascript-6 const let

我下面有一个数组

const [day, month, year] = dateSegments.map(segment => ((segment.length === 1) ? `0${segment}` : `${segment}`))

这一切都很好,直到if语句中的“ year”重新分配为止。 “天”和“月”保持不变

 if (year.length === 2) {
   // blah blah blah loads of code not relevant
   year = `${mostLikelyCentury + year}`
 }

const finalDate = `${day}/${month}/${year}`

我的linter基本上对重新分配“ year”非常担心,我想知道如何才能将数组中的值分成各种let和const来避免这种掉毛错误。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:3)

仅不重新分配给year

const longYear = year.length === 2
  ? (() => {
      // blah blah blah loads of code not relevant
      return `${mostLikelyCentury + year}`
    })()
  : year;

const finalDate = `${day}/${month}/${longYear}`;

或者,只需将const更改为let