This behaviour is very strangely. I tested this code without "For of" loop and that was good. What problem does it have?
It’s supposed to count unique elements.
function countIdentic(arr) {
let sum = 0
let counter = 1
for (let a of arr) {
if (arr.includes(a, counter)) {
sum++
counter++
}
}
return sum
}
let mf = [9, 8, 7, 6, 5, 4, 3, 2, 1, 10]
console.log(countIdentic(mf))
What the thing?
It turns out that your counter needs to be incremented in every iteration, not only when the if statement is true. So pass it to the line below.
function countIdentic(arr) {
let sum = 0
let counter=1
for(let a of arr){
if(arr.includes(a,counter)){
sum++;
}
counter++;
}
return sum
}
let mf=[9,8,7,6,5,6,5,4,3,2,1,10]
console.log(countIdentic(mf))