JS foreach objeto como projeto de variantes
A sintaxe do JavaScript fornece a capacidade de combinar variáveis em arrays e objetos. O acesso aos elementos pode ser obtido através de índices e nomes, por meio de operadores de loop.
Mas nem sempre é possível conhecer o número de elementos na coleção no estágio de design e nem sempre é conveniente usar a sintaxe do idioma dentro da semântica que ele fornece.
Designs Clássicos
A declaração usual do loop "for (var i = 0; i <aData.length; i ++) {…}" fornece acesso a cada elemento da matriz através do índice "i" – "aData [i]", e isso é conveniente quando o número Os elementos são conhecidos antecipadamente. Um efeito semelhante será dado pela construção:
Var i = 0;
Enquanto (typeof aData [i]! = 'Undefined') {… aData [i]; … i ++; },
Quando o número de elementos é desconhecido.
Você também pode construir outros algoritmos para encher e processar arrays, mas é muito mais conveniente usar novas e modernas opções.
Os clássicos são bons quando você precisa processar os questionários do departamento de pessoal (sobrenome, nome, patrônico, postagem), cartões de equipamentos (modelo, fabricante, vendedor, data de venda) e outros dados que não mudam estruturalmente e são de interesse agregado.
Quando um elemento de uma matriz é em si um objeto ou estrutura, tem suas próprias propriedades e métodos, então os clássicos não podem lidar com a dinâmica de quantidade e qualidade, e a matriz assume um significado diferente.
Ciclos para cada elemento
Na dinâmica, a manifestação de uma série de propriedades do elemento real é essencial. O conjunto de matriz JS foreach, que é um pouco diferente do usual (aceito em outros idiomas), permite que a matriz mostre suas propriedades através de seu elemento atual.
Por exemplo, uma matriz contém estradas (suas características qualitativas e quantitativas), e outra matriz são carros que só podem viajar em determinadas estradas e têm diferentes volumes de tanques de combustível, ou seja, as distâncias entre postos de gasolina também têm significado.
Nesta versão, um algoritmo conveniente deve tomar como base, por exemplo, a estrada e escolher carros que possam passar por ele. E é melhor, se a estrada e o carro, agindo no programa como objetos, "se encontram". Esta é uma aplicação natural da programação orientada a objetos, que, entre outras coisas, não leva à necessidade de mudar o algoritmo ao mudar coleções de estradas e carros, leva automaticamente em consideração as estradas em reparo, os carros na manutenção, etc.
Tecnicamente, no JS foreach, a estrutura parece muito simples: "aData.forEach (fData);", onde fData é a função que é aplicada a cada elemento da matriz aData:
Função fData (value, index) {sText + = index + '=' + value + '; '; }.
Se os dados originais forem apresentados da seguinte forma:
Var aData = [1,2,3,4];
AData.push (11);
AData.push (22);
AData.push (44);
AData.push ('linha 1');
AData.push ('linha 2');
Var sText = '',
Então, o resultado desse aplicativo JS foreach será:
"0 = 1; 1 = 2; 2 = 3; 3 = 4; 4 = 11; 5 = 22; 6 = 44; 7 = linha 1; 8 = linha 2;".
Recursos de arrays com objetos
O objeto em JavaScript é especial. O uso de objetos nesse idioma difere significativamente das implementações em outros idiomas. Um objeto é uma matriz de propriedades e métodos. Nesse caso, o último realmente executa as ações, preservando ou editando seus próprios ou conteúdo externo de outros objetos, matrizes, variáveis.
Objetos que chegam à matriz como quadros em um filme, ao olhar para JS foreach construções de objetos, formam uma nova semântica: a construção de um significado variável .
Assim, as próprias estradas têm a oportunidade de escolher carros que podem viajar através deles, e estes últimos filtram os dias disponíveis para eles rotas. Se você não prestar atenção a essa redundância nesta opção de programação aumenta a confiabilidade do código, a tarefa – para determinar a rota de entrega da carga – transforma o projeto JS foreach em uma solução significativa e simples: espalhar as rotas ao longo das estradas, selecionar as máquinas e executar a entrega dos bens.
Se as rotas, estradas e máquinas são arrays de objetos, o algoritmo é muito mais simples. Parece estranho que a aparência do projeto JS foreach levou tanto tempo para aguardar. No entanto, apesar da simplicidade do escrito, na prática, é bastante difícil implementá-lo.
Pratique JS foreach e objetos reais
O pensamento do desenvolvedor moderno funciona com os objetos usuais para programação, mas não os objetos do problema real. Não é costume compreender como tal uma estrada, carro, rota, distância …
A programação orientada a objetos foi desenvolvida de forma espinhosa e, tradicionalmente, tornou-se costume criar objetos de programa: uma matriz, uma forma, um botão, uma janela de seleção de rota e assim por diante.
Além disso, JS foreach juntamente com outras construções de linguagem é executado no navegador do visitante, o que introduz limitações sérias na prática. Nem todo desenvolvedor está pronto para compartilhar seu código. Exemplos efetivos do uso de arrays e coleções de objetos reais são uma boa maneira de melhorar o conhecimento.
No entanto, a disponibilidade do código JavaScript para o uso não desejado do desenvolvedor tem um efeito indireto no desenvolvimento de idéias promissoras para a criação de objetos dinâmicos e reais. As construções de JS foreach ainda não são perfeitas, e o desenvolvimento de sua semântica parece ser uma direção muito promissora.