@wezom/toolkit-array
Version:
Useful tools for working with Arrays
34 lines (31 loc) • 891 B
JavaScript
'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;