Set

by Maxim_Wolf

JavaScript

const items = new Set(Array.from ({length:12},(_,ix)=>ix));

const str = (value)=>`${value}`;
const compare = (left,right)=>left<right?-1:right<left?1:0;
const byNumbericalValue = (left,right)=>compare(left,right);
const byStringValue =(left,right)=>compare(str(left),str(right));

console.log([...items].sort(byNumbericalValue));
console.log([...items].sort(byStringValue));

items.add(100);
items.add(20);

console.log([...items].sort(byNumbericalValue));
console.log([...items].sort(byStringValue));

console.log([...items]);//порядок, в котором JavaScript отдает содержимое Set зависит от порядка вставления