Reputation: 11
I am trying to count the number of selected items from array of object. I am facing
expected assignment or function call issue in sonarQube
Need some help to solve the issue.
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;
}
problematic line is
dataList.forEach(item => item.checked ? selectedItemCount = selectedItemCount + 1 : "" );`
Upvotes: 1
Views: 874
Reputation: 1571
Returning an empty line in false
part for ternary is what causes the error. You can simply increment selectedItemCount
with if
expression within the loop:
const getSelectedCount2 = (dataList) => {
let selectedItemCount = 0;
dataList.forEach(item => {
if (item.checked) { selectedItemCount++; }
});
return selectedItemCount;
}
or use it simply as:
const getSelectedCount2 = dataList => {
return dataList.filter(item => item.checked).length;
}
Upvotes: 1