Как оставить в массиве только уникальные значения js — Q&A Хекслет
2026-02-26 15:14 Diff

По сути как первое решение, но чуть усовершенствованное. Работает на ВСЕХ типах, включая объекты и функции (но кроме null/false/undefined)

const options = [ 'Раз', 2, 3, true, (a, b) => a + b, 4, 'Раз', 56, { a: 1, b: 0 }, 3, 2, (a, b) => a + b, 'Раз', { a: 1, b: 0 }, 1, false, false, true, (a, b) => a + b, ]; const getUniqueOptions = (options) => { return options.reduce( (res, cur) => res.find((find) => JSON.stringify(find) === JSON.stringify(cur)) ? res : [...res, cur], [] ).sort((a, b) => a - b); // и сортировочка для красоты :) }; console.log(getUniqueOptions(options)); // ['Раз', 2, 3, true, ƒ, 4, 56, {…}, 1, false, false]