Outro caso de uso valioso para o método .call

Eu estava trabalhando em um projeto e tenho que passar por uma lista de elementos de entrada para ver se eles estão marcados ou não e salvar o valor dos marcados. Primeiro, selecionei todos eles

var inputs = document.querySelectorAll('input[type="checkbox"]:checked')

Assim, só consigo os que quero. Mas agora tenho que passar por cada um e verificar seu valor (armazenado no iddo elemento). Eu poderia usar um forloop, ou poderia usar, .forEachmas isso não funcionaria porque inputs.forEaché indefinido. E agora ?

[].forEach.call(inputs, fn (input) { // code } )

Agora temos o poder do forEachmétodo, yay!
Ou melhor ainda

[].map.call(inputs, function (input) { 
params.push(input.id);
})

Passei a usar o .mapmétodo