Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menjumlahkan Nilai Harta Tertentu Dengan Cekap Merentas Berbilang Tatasusunan JavaScript?

Bagaimanakah Saya Boleh Menjumlahkan Nilai Harta Tertentu Dengan Cekap Merentas Berbilang Tatasusunan JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-12-20 19:34:101109semak imbas

How Can I Efficiently Sum the Values of a Specific Property Across Multiple JavaScript Arrays?

Penjumlahan Nilai Tatasusunan Cekap

Soalan ini mencari penyelesaian yang cekap untuk mengira jumlah jumlah harta tertentu merentas berbilang tatasusunan.

Pernyataan Masalah

Diberikan pelbagai objek, setiap satu mengandungi sifat "huraian" dan "Jumlah", pendekatan asal melibatkan lelaran melalui tatasusunan dan menambah nilai "Jumlah" secara berperingkat:

$scope.totalAmount = function(){
       var total = 0;
       for (var i = 0; i < $scope.traveler.length; i++) {
              total = total + $scope.traveler[i].Amount;
            }
       return total;
}

Kaedah Setara untuk Sifat Arbitrari

Penyelesaian yang diingini akan membolehkan penjumlahan nilai harta sewenang-wenangnya, dinyatakan sebagai:

$scope.traveler.Sum({ Amount });
$scope.someArray.Sum({ someProperty });

Penyelesaian Dioptimumkan

Penyelesaian yang dicadangkan memanfaatkan kaedah tatasusunan.kurangkan untuk mencapai ini matlamat:

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

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

Kelebihan

  • Kebolehgunaan semula: Penyelesaian ini boleh digunakan semula untuk sebarang tatasusunan dengan menghantar argumen yang sesuai kepada fungsi jumlah.
  • Keringkas: Ia merangkumi menjumlahkan logik dalam satu kaedah, menghapuskan keperluan untuk gelung lelaran eksplisit.
  • Prestasi yang Dipertingkat: Reduce menyediakan pengoptimuman prestasi yang wujud untuk pemprosesan tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjumlahkan Nilai Harta Tertentu Dengan Cekap Merentas Berbilang Tatasusunan JavaScript?. 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