Então, a sua reclamação é que o loop for (var key in set )
em Javascript faz um loop no índice, e não os valores (ou ambos) como foreach ($array as $key => $value)
como o PHP (e vários outros)?
Acho que esta é uma tentativa de estar mais em linha com um loop padrão, compare:
for (var index = 0; index < set.length; index++) {
f(set[index]);
}
for (var key in set) {
f(set[key]);
}
A consistência é alcançada desta forma entre o formulário original, dividindo o par de chave / valor e retornando ambos podem muito bem ser muito úteis e de fato eu acho o método JavaScript uma dor, mas é muito limpo.
De qual idioma ele foi emprestado originalmente? Qual é o método lá - o estilo Perl / PHP de foreach()
é uma raiz diferente.
Pessoalmente, se estou usando JavaScript, estou usando o jQuery e isso tem jQuery.each () :
$.each(set, function(key, value) {
f(value); // or f(this); -- though 'this' will be an object in all cases
});