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

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

Barbara Streisand
Barbara Streisandasal
2024-12-10 19:48:11724semak imbas

How Can I Efficiently Sum Property Values Across Multiple Arrays in JavaScript?

Menjumlahkan Nilai Harta Dengan Cekap dalam Tatasusunan

Untuk mengira jumlah amaun dalam tatasusunan, anda biasanya menggunakan gelung mudah seperti yang dilihat dalam yang diberikan contoh:

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

Pendekatan ini boleh menjadi membosankan apabila berurusan dengan berbilang tatasusunan dan pelbagai harta nama. Penyelesaian yang ideal akan membolehkan penjumlahan ringkas menggunakan kaedah piawai.

Masukkan fungsi kurangkan:

Fungsi kurangkan menggunakan fungsi pengurangan pada setiap elemen tatasusunan, mengumpul hasil menjadi satu nilai. Dalam kes ini, kami mentakrifkan fungsi pengurang yang menambahkan nilai sifat sasaran kepada jumlah yang sedang berjalan:

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

Dengan menggunakan kurangkan, anda boleh mengira jumlah dengan mudah untuk sebarang tatasusunan dan harta :

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

Pendekatan umum ini memberikan fleksibiliti dan kecekapan untuk menjumlahkan nilai harta dalam pelbagai tatasusunan.

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