Remover / remover valores no array em determinados índices

Eu tenho um array assim:

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

E um contendo chaves assim:

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

Agora eu poderia escrever algo assim:

var peoplesStripedOfKeyPostions = [];

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

Se você não pode dizer, eu preciso produzir uma matriz de pessoas que é despojada de pessoas em determinadas posições definidas em chaves de matriz. Eu sei que tem que haver uma maneira bacana e eficiente de fazer isso, mas eu certamente não consigo pensar nisso. (gerenciamento de matriz não é meu forte).

Você conhece uma maneira melhor de fazer isso? (Se eu obtiver várias respostas de trabalho, o jsperf determina o vencedor.)

questionAnswers(2)

yourAnswerToTheQuestion