vue.js 警告函数“getPositionValue”的复杂度为7,允许的最大值为5

ycl3bljg  于 2023-10-23  发布在  Vue.js
关注(0)|答案(2)|浏览(114)

我试图摆脱我的项目中的所有警告,但我偶然发现“警告函数'getPositionValue'的复杂度为7。最大允许是5“,我不知道如何解决它。这是一个.js文件。
这是代码:

export function getPositionValue(station) {
  const { latitude, longitude } = station;
  if (latitude && longitude) {
    return `${latitude}, ${longitude}`;
  }
  if (latitude && !longitude) {
    return `${latitude}, 0`;
  }
  if (!latitude && longitude) {
    return `0, ${longitude}`;
  }
  return `${0}, ${0}`;
}

任何想法如何解决这个警告是受欢迎的!

knsnq2tg

knsnq2tg1#

如果你使用的是ESLint,这个错误指的是你的代码在返回值之前可以传递的路径数量。您可以在https://eslint.org/docs/latest/rules/complexity中查看此规则的详细信息。
为了解决这个问题,你可以根据文档使用“if - else”而不是“if - if - if”序列。
这个方法
可以有一个单一的返回行**,并返回如下内容:

export function getPositionValue(station) {
  const { latitude, longitude } = station;

  return `${latitude ?? '0' }, ${longitude ?? '0'}`
}

这是一个Nullish coalescing operator,如果存在则返回值,否则返回0。
此外,您还可以将ES脚本(.eslintrc.cjs)中的最大复杂度更改为7(不推荐)。
希望我能帮到你。

tkclm6bt

tkclm6bt2#

你可以利用在解构中使用默认值的优势,这样你的函数就可以看起来像这样:

export function getPositionValue(station) {
  const { latitude = 0, longitude = 0 } = station;
  return `${latitude}, ${longitude}`;
}

相关问题