Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menjumlahkan Nilai Harta Array dengan Cekap dalam AngularJS?

Bagaimanakah Saya Boleh Menjumlahkan Nilai Harta Array dengan Cekap dalam AngularJS?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 15:53:11772semak imbas

How Can I Efficiently Sum Array Property Values in AngularJS?

Kaedah Dipertingkat untuk Menjumlahkan Nilai Harta Tatasusunan

Dalam AngularJS, pengiraan jumlah nilai dalam tatasusunan selalunya boleh dilakukan menggunakan gelung. Walau bagaimanapun, untuk memudahkan penggunaan semula kod, pertimbangkan pendekatan yang lebih cekap.

Fungsi Penjumlahan Dioptimumkan

Daripada menggunakan gelung eksplisit, manfaatkan kaedah pengurangan untuk mengira jumlah. Berikut ialah fungsi yang dioptimumkan:

$scope.sum = function(items, prop) {
  return items.reduce(
    function(accumulator, currentItem) {
      return accumulator + currentItem[prop];
    },
    0 // Optional starting value
  );
};

Penggunaan untuk Nama Harta Berbeza

Sekarang, anda boleh menggunakan semula fungsi ini untuk mana-mana tatasusunan dengan nama sifat tersuai:

// For the $scope.traveler array
$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');

// For a different array, e.g. $scope.expenses
$scope.expensesTotal = $scope.sum($scope.expenses, 'Cost');

Faedah

Pendekatan ini menawarkan beberapa kelebihan:

  • Kebolehbacaan kod yang dipertingkatkan: Menghapuskan gelung eksplisit, menjadikan kod lebih mudah difahami.
  • Kebolehgunaan semula kod yang dipertingkatkan: Fungsi boleh digunakan semula untuk mana-mana tatasusunan dengan sifat tersuai nama.
  • Peningkatan kecekapan: Kaedah pengurangan dioptimumkan untuk menjumlahkan operasi pada tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjumlahkan Nilai Harta Array dengan Cekap dalam AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn