javascript - 修复循环内 if/else 的圈复杂度

标签 javascript cyclomatic-complexity

如果我有一个内部有这样的条件的循环,我需要一个内部变量和一个外部变量:

let b = get(b);

for(let a in myArray){
   if(a==b){
     // Do something
   }else{
     // Do another thing
   }
}

反射器如何才能降低圈复杂度。 我尝试将条件提取到另一个函数中,但我想知道是否有最好的方法。

最佳答案

for..in 迭代对象的属性名称。如果给它一个数组,它会迭代该数组的索引。

var arr = ['a','b','c'];
for (let i in arr) {
  alert(i); // 0,1,2
  if (i == b) {
    // something
  }
}

因此,您的代码检查器在这个循环中发现了 IF 条件,并说嘿,为什么不直接访问您正在检查的属性/索引,而不是循环遍历每个属性,看看它是否是正确的。

var arr = ['a','b','c'];
if (arr[b]) {
  // something
}

关于javascript - 修复循环内 if/else 的圈复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52976741/

相关文章:

java - 减少圈复杂度

javascript - 基本 JavaScript 程序

javascript - 在 Javascript 中捕获多个击键

java - 如何计算项目(而不是类/函数)的圈复杂度?

testing - 计算独立路径数

javascript - 关闭 JSHint 中的圈复杂度

javascript - 用于解析 AVL 设备消息的正则表达式

javascript - 未捕获的类型错误 : Cannot read property 'toUpperCase' of undefined

javascript - 如何将样式应用于javascript中的类?

ios - 如何找到 Xcode 项目的圈复杂度?