如果我有一个内部有这样的条件的循环,我需要一个内部变量和一个外部变量:
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/