let obj = {} let arr = [] let max = 0 for (let i = 0; i < array.length; i++) { if (!obj.hasOwnProperty(typeof array[i])) { obj[typeof array[i]] = 1 } else { obj[typeof array[i]] += 1 } max = obj[typeof array[i]] > max ? obj[typeof array[i]] : max } let res = [] for (key in obj) { if (obj[key] === max) res.push(key) } res.push(max) return res