@snipsonian/core
Version:
Core/base reusable javascript code snippets
12 lines (11 loc) • 454 B
JavaScript
import isString from '../../is/isString';
export default function hasArrayUniqueValues(arr, options = {}) {
const { itemMapper = (item) => item, ignoreCase = true, } = options;
const enhancedItemMapper = ignoreCase
? (item) => {
const temp = itemMapper(item);
return isString(temp) ? temp.toLowerCase() : temp;
}
: itemMapper;
return arr.length === new Set(arr.map(enhancedItemMapper)).size;
}