如果我有一个内部条件这样的循环,则需要一个内部变量和一个外部变量:
let b = get(b);
for(let a in myArray){
if(a==b){
// Do something
}else{
// Do another thing
}
}
如何使用反射器来减少圈复杂度。 我试图将条件提取到另一个函数中,但是我想知道是否有最佳方法。
答案 0 :(得分:2)
遍历对象的属性名称。如果给它一个数组,则会迭代该数组的索引。
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
}