А Вы на листочке по шагам пройдите свой алгоритм...
Я вас больше удивлю:
einzigartig([1, 2, 3, 4, 5]) // [1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5]
Подумайте хорошо, когда срабатывает это условие:
if(arr[i] !== arr1[j])
ведь и i и j пробегают все элементы массива
А еще Ваша функция некорректно отработает, если на вход придет пустой массив
P.S. именовать сущности на языках отличных от английского не очень хорошая идея... Я например только с гуглом смог понять, что это немецкий и как оно переводится...