Test

JavaScript

function mode(items) {
  var result = [];
  var count = {};
  var highest= 0;

  items.map((item) => {
    var itemCount = (count[item] || 0) + 1;
    count[item] = itemCount
    if (itemCount > 1) {
      if(itemCount > highest) {
        highest = itemCount;
        //reset 
        result = [item];
      } else if (itemCount === highest){
        result.push(item);
      }
    }

  })
 
  
  
  return result;
}

console.log(mode([2, 3, 9, 6, 9]))
console.log(mode([2, 3,2, 9, 6, 9]))
console.log(mode([2, 3,2, 9, 6, 9,2]))
console.log(mode([2, 3, 9, 6, 9,6,2]))

console.log(mode([4, 5, 6, 6, 6, 7, 7, 9, 10])) // ➞ [6]
console.log(mode([4, 5, 5, 6, 7, 8, 8, 9, 9])) // ➞ [5, 8, 9]
console.log(mode([1, 2, 2, 3, 6, 6, 7, 9]))