Escrevi várias postagens no blog sobre truques de JavaScript: Truques de promessa, truques de conversão de tipos, truques de propagaçãoe um uma série de outros truques de JavaScript. Recentemente, encontrei outro truque de JavaScript que me surpreendeu: como quebrar um forEach loop, compartilhado por Andrea Giammarchi!
Para quebrar a forEach em qualquer ponto, o senhor pode truncar o array do length:
const myArray = [1, 2, 3];
myArray.forEach(item => {
// ... do some stuff
if(someConditionIsMet) {
// Break out of the loop by truncating array
myArray.length = 0;
}
})
Ao definir o length para 0, o senhor esvazia a matriz e interrompe imediatamente o forEach. É claro que, ao esvaziar o array, os dados originais são perdidos, portanto, o senhor pode querer criar um novo array ([...myArray].forEach) antes dessa operação.
Outra forma de realizar a tarefa seria lançar uma exceção:
// https://stackoverflow.com/questions/2641347/short-circuit-array-foreach-like-calling-break
let BreakException = {};
try {
[1, 2, 3].forEach(function(el) {
console.log(el);
if (el === 2) throw BreakException;
});
} catch (e) {
if (e !== BreakException) throw e;
}
E, é claro, provavelmente haverá uma maneira melhor de obter o que o senhor deseja sem precisar desse truque, como usar .find ou .some, mas nem todo truque precisa ser uma prática recomendada!


Animações JS responsivas e infinitamente escalonáveis
No final de 2012, não era fácil encontrar projetos de código aberto usando
requestAnimationFrame()– esse é o gancho que permite que o código Javascript seja sincronizado com o loop de pintura nativo de um navegador da Web. As animações que usam esse método podem ser executadas a 60 fps e proporcionar…

Criar um pacote de download usando o MooTools Moousture
Zohaib Sibt-e-Hassan lançou recentemente uma excelente biblioteca de gestos de mouse para o MooTools chamada Moousture. O Moousture permite que o senhor acione a funcionalidade movendo o mouse em padrões personalizados especificados. Para ilustrar o valor do Moousture, criei um construtor de download de imagens usando o Moousture e PHP. O XHTML Fornecemos…
