Home > Mobile >  Array Elements Repetition Counting
Array Elements Repetition Counting

Time:10-23

What I want to do is to count the amount of each word in array, but my code also adds the index number of element which amount it counts

let array = ['brown', 'apple', 'engine', 'engine', 'engine', 'brown', 'cell', 'Derek']
let shortened = [...new Set(array)].sort()

for (let i = 0; i < shortened.length; i  ) {
  array.forEach(element => { if (element === shortened[i]) { count   } })
  console.log(count)
}

expected output is 1, 2, 1, 1, 3 because asyou see array shortened[] is alphabetically sorted

CodePudding user response:

You need to decline count as a variable inside your for loop, so it resets every time the loop runs.

let array = ['brown', 'apple', 'engine', 'engine', 'engine', 'brown', 'cell', 'Derek']
let shortened = [...new Set(array)].sort()

for (let i = 0; i < shortened.length; i  ) {
    let count = 0;
    array.forEach(element => {
        if (element === shortened[i]) {
            count  
        }
    })
    console.log(count)
}

  • Related