478 Shares 921 views

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.