20 lines
395 B
Text
20 lines
395 B
Text
let mode = fn(l) {
|
|
let m = {}
|
|
for i in l.iter() {
|
|
let old = m.get(i)
|
|
let new = if old == null {1} else {old + 1}
|
|
m.set(i, new)
|
|
}
|
|
var max = 0
|
|
var mode = null
|
|
for i in m.iter() {
|
|
if i.get(1) > max {
|
|
max := i.get(1)
|
|
mode := i.get(0)
|
|
}
|
|
}
|
|
return mode
|
|
}
|
|
|
|
print(mode([4, 6, 66, 66, 9, 22, 9, 9, 23, 43, 2, 43]))
|
|
print(mode(["abc", "def", "ghi", "abc"]))
|