var opis = ["tseremonii", "tseremonii", "fotografy", "fotografy", "mesto-provedeniya", "makiyazh-i-pricheska", "makiyazh-i-pricheska"]
const counts = opis.reduce((p,c) => { p[c] = p[c] ? p[c]+1 : 1; return p;}, {});
const result = [];
for (let k in counts) if (counts[k] === 1) result.push(k);
const getUnique = arr => Array
.from(arr.reduce((acc, n) => acc.set(n, acc.has(n)), new Map))
.reduce((acc, n) => (n[1] || acc.push(n[0]), acc), []);
const result = getUnique(arr);
const getByCount = (arr, checkCount) => Array
.from(arr.reduce((acc, n) => acc.set(n, -~acc.get(n)), new Map))
.reduce((acc, n) => (checkCount(n[1]) && acc.push(n[0]), acc), []);
const result = getByCount(arr, count => !~-count);
function getUniqueElems(A) // A - упорядоченный массив.
{
var n = A.length, B = [];
for (var i = 1, j = 0, t; i < n+1; i++)
{ if (A[i-1] === A[ i ]) t = A[i-1];
if (A[i-1] !== t) B[j++] = A[i-1];
}
// На выходе массив только с теми элементами входного
return B; // упорядоченного массива, которые не имеют дубли.
}