Вот решение одной из задач на данном сайте, в котором имеется функция, возвращающий массив с уникальными элементами прим:
var arr1 = ["pro","pro""pro","mid","low","mid","hard","mid","low"]; unique(arr1); // pro,mid,low,hard
Реализация функции:
function unique(arr) {
var result = [];
nextInput:
for (var i = 0; i < arr.length; i++) {
var str = arr[i]; // для каждого элемента
for (var j = 0; j < result.length; j++) { // ищем, был ли он уже?
if (result[j] == str) continue nextInput; // если да, то следующий
}
result.push(str);
}
return result;
}
var strings = ["кришна", "кришна", "харе", "харе",
"харе", "харе", "кришна", "кришна", "8-()"
];
alert( unique(strings) ); // кришна, харе, 8-()
Сама реализация мне не очень понятна, из-за имеющегося непонятного псевдосвойства nextInput, который был инициализирован в фунцкии, а не в объекте, что в вижу впервые, за 6 месяцев своего обучения, и по-ходу прошу объяснить принцип работы данной функции, давольно понятно, что функция это тоже объект, но инициализация фунцкии, делалось func.prop = 5 именно так, в ходе обучения, не демонстрировалось создание свойства в самой функцкии, заранее буду благодарен!