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
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!