HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>По сути как первое решение, но чуть усовершенствованное. Работает на ВСЕХ типах, включая объекты и функции (но кроме null/false/undefined)</p>
1 <p>По сути как первое решение, но чуть усовершенствованное. Работает на ВСЕХ типах, включая объекты и функции (но кроме null/false/undefined)</p>
2 <p>const options = [ 'Раз', 2, 3, true, (a, b) =&gt; a + b, 4, 'Раз', 56, { a: 1, b: 0 }, 3, 2, (a, b) =&gt; a + b, 'Раз', { a: 1, b: 0 }, 1, false, false, true, (a, b) =&gt; a + b, ]; const getUniqueOptions = (options) =&gt; { return options.reduce( (res, cur) =&gt; res.find((find) =&gt; JSON.stringify(find) === JSON.stringify(cur)) ? res : [...res, cur], [] ).sort((a, b) =&gt; a - b); // и сортировочка для красоты :) }; console.log(getUniqueOptions(options)); // ['Раз', 2, 3, true, ƒ, 4, 56, {…}, 1, false, false]</p>
2 <p>const options = [ 'Раз', 2, 3, true, (a, b) =&gt; a + b, 4, 'Раз', 56, { a: 1, b: 0 }, 3, 2, (a, b) =&gt; a + b, 'Раз', { a: 1, b: 0 }, 1, false, false, true, (a, b) =&gt; a + b, ]; const getUniqueOptions = (options) =&gt; { return options.reduce( (res, cur) =&gt; res.find((find) =&gt; JSON.stringify(find) === JSON.stringify(cur)) ? res : [...res, cur], [] ).sort((a, b) =&gt; a - b); // и сортировочка для красоты :) }; console.log(getUniqueOptions(options)); // ['Раз', 2, 3, true, ƒ, 4, 56, {…}, 1, false, false]</p>