«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно суммировать свойства массива в AngularJS?

Как я могу эффективно суммировать свойства массива в AngularJS?

Опубликовано 20 декабря 2024 г.
Просматривать:958

How Can I Efficiently Sum Array Properties in AngularJS?

Расширенное суммирование массивов в AngularJS

В AngularJS суммирование свойств массива может быть обычной задачей. Базовый подход предполагает перебор массива и накопление значений свойств. Однако этот метод становится утомительным, когда приходится сталкиваться с несколькими массивами и разными именами свойств.

Для решения этой проблемы требуется более гибкое и многократно используемое решение, которое позволяет удобно суммировать любое свойство массива. Этого можно добиться с помощью метода сокращения(), который предоставляет мощный способ агрегирования значений массива.

Рассмотрим следующий пример:

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

Чтобы суммировать свойство «Amount» массива путешественников с помощью функции уменьшения(), мы можем написать метод следующим образом:

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

В этом методе мы используем метод уменьшить() с функцией обратного вызова, которая принимает два аргумента: накопленное значение (a) и текущий элемент (b) массива. В обратном вызове мы получаем доступ к свойству, которое хотим суммировать (prop), и добавляем его к накопленному значению.

Чтобы применить этот метод к нашему массиву путешественников, мы можем сделать следующее:

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

Используя этот подход, мы можем легко суммировать значения свойств любого массива в нашем Приложение AngularJS. Определив метод многократного использования, мы избегаем избыточного кода и обеспечиваем согласованность наших вычислений суммирования.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3