Obtener todos los valores únicos en una matriz de JavaScript (eliminar duplicados)

Tengo una serie de números que necesito para asegurarme de que son únicos. Encontré el fragmento de código a continuación en Internet y funciona muy bien hasta que la matriz tenga un cero. encontréeste otro guión aquí en SO que se ve casi exactamente igual, pero no falla.

Entonces, por el simple hecho de ayudarme a aprender, ¿puede alguien ayudarme a determinar dónde va mal el guión del prototipo?

Array.prototype.getUnique = function() {
 var o = {}, a = [], i, e;
 for (i = 0; e = this[i]; i++) {o[e] = 1};
 for (e in o) {a.push (e)};
 return a;
}
Más respuestas de la pregunta duplicada:Eliminar duplicados de la matriz de JavaScriptPregunta similar:Obtenga todos los valores con más de una aparición (es decir, no es único) en una matriz

Respuestas a la pregunta(30)

Su respuesta a la pregunta