Eliminar / eliminar valores en una matriz en ciertos índices

Tengo una matriz como tal:

peoples = ['dick', 'jane', 'harry', 'debra', 'hank', 'frank' .... ]

Y una que contiene claves así:

keys  = [1, 6, 3, 12 .... ]

Ahora podría escribir algo como esto:

var peoplesStripedOfKeyPostions = [];

for(i = 0; i < peoples.length; i++){
    for(j = 0; j < keys.length; j++){
        if( i !== keys[j]){
            peoplesStripedOfKeyPostions.push( peoples[i] );
        }
    }        
}

Si no puede saberlo, debo producir una serie de personas que se eliminen de personas en ciertas posiciones definidas en las claves de matriz. Sé que tiene que haber una forma ingeniosa y eficiente de hacer esto, pero ciertamente no puedo pensar en ello. (la gestión de matrices no es mi fuerte).

¿Conoces una mejor manera de hacer esto? (Si obtengo varias respuestas de trabajo, jsperf determina el ganador.)

Respuestas a la pregunta(2)

Su respuesta a la pregunta