Дзен-трансгуманист, интересный вариант
Думаю в случае с числовым/строчным массивом уместен упрощенный вариант:
var array = [1, 2, 1, 10, 5, 3, 4, 40, 50];
var uniqueness = {};
for (var i = 0; i < array.length; i++) {
var item = array[i];
switch (uniqueness[item]) {
case undefined:
uniqueness[item] = true;
break;
case true:
uniqueness[item] = false;
}
}
var result = array.filter(function (value) {
return uniqueness[value];
});
alert(result);