首页 > 解决方案 > 对数组中的值使用 let 和 const 时出现 Linter 错误

问题描述

我在下面有一个数组

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

这一切都很好,直到 'year' 在下面的 if 语句中被重新分配。“日”和“月”保持不变

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

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

我的 linter 基本上对重新分配 'year' 感到害怕,我想知道如何将数组中的值分成各种 let 和 const 以避免这种 linting 错误。

任何帮助,将不胜感激

标签: javascriptarraysecmascript-6constantslet

解决方案


只是不要重新分配给year?

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

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

或者,只需更改constlet.


推荐阅读