Удалить повторы в массиве
[...new Set([1, 3, 1, 5, 7])];
// или
Array.from(...new Set([1, 3, 1, 5, 7]));
Получить случайный элемент массива
function getRandomArrayItem(items) {
return items[Math.floor(Math.random() * items.length)];
}
Функцинальная работа с объектами
const objToEntries = Object.entries || (obj) => Object.keys(obj).map(key => [key, obj[key]]);
const objFromEntries = Object.fromEntries || (entries) => entries.reduce((obj, [key, val]) => Object.assign(obj, {[key]: val}), {});
const objMap = (obj, fn) => objFromEntries(objToEntries(obj).map(fn));
// примеры использования
objToEntries({k1: 'v1', k2: 'v2'});
// [['k1', 'v1'], ['k2', 'v2']]
objFromEntries([['k1', 'v1'], ['k2', 'v2']]);
// {k1: 'v1', k2: 'v2'}
objMap({k1: 'v1', k2: 'v2'}, ([k, v]) => ([k + '_', v + '_']));
// {k1_: 'v1_', k2_: 'v2_'}