Por ejemplo:
const items = ['a', 'a', 'b', 'a', 'a'];
Se convertiría:
['a', 'b', 'a']
¿Hay una forma limpia de hacer lo anterior usando JS?
Yo he tratado:
const items = ['a', 'a', 'b', 'a', 'a']; const uniqueInRow = []; for (var i=0; i < items.length; i++) { item = items[i]; if (item !== item[i++]) { uniqueInRow.push(item); } } console.log(uniqueInRow);Intenta lo siguiente:
const items = ['a', 'a', 'b', 'a', 'a']; const res = [] for(let i = 0; i < items.length; i++) { if (i === 0 || items[i] !== items[i-1]) res.push(items[i]) } console.log(res)Puede evitar vecinos iguales a través de oneliner:
vals.forEach((v, i) => (i < vals.length && v === vals[i + 1]) && vals.splice(i, 1))