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 зависит от порядка вставления