Passer de ceci :
splitMetaValues(str) {
function inArray(needle, stack) {
for (var i = 0; i < stack.length; i++) {
if (stack[i] == needle) {
return true;
}
}
return false;
}
let res = [];
let v = str.split(',');
v.sort();
for (let i = 0; i < v.length; i++) {
v[i] = v[i].replace(/^\s*/, '').replace(/\s*$/, '');
if (v[i] != '' && !inArray(v[i], res)) {
res.push(v[i]);
}
}
res.sort();
return res;
}
À cela :
splitMetaValues(str) {
let list = new Set(str.split(',').map(s => s.trim()).filter(i => i));
return [...list].sort((a, b) => a.localeCompare(b));
}
J’aime bien !
PS : Oui ça fait pareil et même un poil mieux (tri fonction de la langue) ;-)