deno.land / x / rambda@v9.1.1 / src / dropRepeatsBy.js
12345678910111213141516171819202122import { equals } from './equals.js'
export function dropRepeatsBy(fn, list){ if (arguments.length === 1) return _list => dropRepeatsBy(fn, _list)
let lastEvaluated = null
return list.slice().filter(item => { if (lastEvaluated === null){ lastEvaluated = fn(item)
return true } const evaluatedResult = fn(item) if (equals(lastEvaluated, evaluatedResult)) return false
lastEvaluated = evaluatedResult
return true })}
Version Info