UNPKG

@wezom/toolkit-array

Version:
34 lines (31 loc) 891 B
'use strict'; /** * Returns new array without duplicates * @immutable * @example * arrayFilterUnique(['🚗','🛸','🚐','🚁','🚁','🚐','🚐','🛵','🚁','🛵','🛸','🚗']) // => ['🚗','🛸','🚐','🚁','🛵'] * arrayFilterUnique([ * {icon: '🚗'}, * {icon: '🚐'}, * {icon: '🚐'}, * {icon: '🚗'}, * {icon: '🚁'}, * {icon: '🛵'}, * {icon: '🚁'}, * {icon: '🚁'}, * {icon: '🛸'}, * {icon: '🛵'}, * {icon: '🛵'}, * {icon: '🛵'}, * {icon: '🚁'} * ]) // => [{icon: '🚗'},{icon: '🚐'},{icon: '🚁'},{icon: '🛵'},{icon: '🛸'}] */ function filterUnique(array, predicate) { if (predicate === void 0) { predicate = function (item, i, array) { return array.indexOf(item) === i; }; } return array.filter(predicate); } module.exports = filterUnique;