"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso somar com eficiência as propriedades do array em AngularJS?

Como posso somar com eficiência as propriedades do array em AngularJS?

Publicado em 2024-12-20
Navegar:435

How Can I Efficiently Sum Array Properties in AngularJS?

Soma de array avançado em AngularJS

Em AngularJS, somar propriedades de array pode ser uma tarefa comum. Uma abordagem básica envolve iterar pela matriz e acumular os valores das propriedades. No entanto, esse método se torna tedioso quando confrontado com vários arrays e nomes de propriedades variados.

Para resolver isso, é desejada uma solução mais flexível e reutilizável, que permita a soma conveniente de qualquer propriedade do array. Isso pode ser conseguido usando o método reduzir(), que fornece uma maneira poderosa de agregar valores de array.

Considere o seguinte exemplo:

$scope.traveler = [
    { description: 'Senior', Amount: 50},
    { description: 'Senior', Amount: 50},
    { description: 'Adult', Amount: 75},
    { description: 'Child', Amount: 35},
    { description: 'Infant', Amount: 25 },
];

Para somar a propriedade 'Amount' do array traveler usando reduzir(), podemos escrever um método como segue:

$scope.sum = function(items, prop){
    return items.reduce( function(a, b){
        return a   b[prop];
    }, 0);
};

Neste método, usamos o método reduz() com uma função de retorno de chamada que aceita dois argumentos: o valor acumulado (a) e o elemento atual (b) do array. Dentro do callback, acessamos a propriedade que queremos somar (prop) e adicionamos ao valor acumulado.

Para aplicar este método ao nosso array traveler, podemos fazer o seguinte:

$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');

Usando esta abordagem, podemos facilmente somar valores de propriedade de qualquer array em nosso aplicativo AngularJS. Ao definir um método reutilizável, evitamos código redundante e garantimos consistência em nossos cálculos de soma.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3