【问题标题】:SonarQube issue expected an assignment or function call instead saw an expressionSonarQube 问题需要一个赋值或函数调用,而不是看到一个表达式
【发布时间】:2025-12-27 02:20:15
【问题描述】:

我正在尝试从对象数组中计算所选项目的数量。 我正面临

sonarQube 中的预期分配或函数调用问题

需要一些帮助来解决问题。

const dataList = [
   { label: "test1", value: "test1", checked: true },
   { label: "test2", value: "test2", checked: false },
   { label: "test3", value: "test3", checked: true }];
     
const getSelectedCount2 = (dataList) => {
   let selectedItemCount = 0;
   dataList.forEach(item => item.checked ? selectedItemCount = selectedItemCount + 1 : "" );

   return selectedItemCount;
}

问题线是

dataList.forEach(item => item.checked ? selectedItemCount = selectedItemCount + 1 : "" );`

【问题讨论】:

    标签: javascript sonarqube sonarqube-scan


    【解决方案1】:

    false 部分中为三元返回一个空行是导致错误的原因。您可以简单地在循环中使用if 表达式增加selectedItemCount

    const getSelectedCount2 = (dataList) => {
        let selectedItemCount = 0;
    
        dataList.forEach(item => { 
            if (item.checked) { selectedItemCount++; }
        });
    
        return selectedItemCount;
    }
    

    或将其简单地用作:

    const getSelectedCount2 = dataList => {
        return dataList.filter(item => item.checked).length;
    }
    

    【讨论】:

      最近更新 更多