0
Angular JS:@scope.object
内のすべての変数を合計する方法は?Angular JS:@ scope.object内のすべての変数を合計する方法
私はオブジェクト内に複数の変数を持つ$scope.Growth
を持っています。 どうすればそれらをすべて最も簡単に集計できますか?
Angular JS:@scope.object
内のすべての変数を合計する方法は?Angular JS:@ scope.object内のすべての変数を合計する方法
私はオブジェクト内に複数の変数を持つ$scope.Growth
を持っています。 どうすればそれらをすべて最も簡単に集計できますか?
Object.values($scope.Growth)
.filter(value => !isNaN(value))
.reduce((sum, value) => sum + value, 0)
これは有効に変換されない任意の値をフィルタリング対象の各独自のプロパティの値
の配列を取得
で動作します数字
フィルタリングされた配列を減らすことによって、すべての値を集計します。
古い実行時にいるとあなたに利用できるObject.values
機能を持っていない場合はここで
Object.keys($scope.Growth)
.map(function (key) {return $scope.Growth[key];})
.filter(function (value) {return !isNaN(value);})
.reduce(function (sum, value) {return sum + value;}, 0)
を次のアクション
での一例であるとして、あなたはそれを書くことができますconst $scope = {
Growth: {
a: 1,
b: 2,
c: 3
}
};
const sum = Object.values($scope.Growth)
.filter(value => !isNaN(value))
.reduce((sum, value) => sum + value, 0);
console.info(sum);
注場合AngularJSテンプレートで結果をデータバインドする必要があり、名前$scope
から問題に言及したがsuggestableない、あなたは
ような何かを書くと
(function() {
AppController.$inject = ['$scope'];
function AppController($scope) {
$scope.Growth = {
a: 1,
b: 2,
c: 3
};
$scope.growthSum =() => Object.values($scope.Growth)
.filter(value => !isNaN(value))
.reduce((sum, value) => sum + value, 0);
}
const app = angular
.module('app', [])
.controller({
AppController
});
angular.bootstrap(document.getElementById('app'), [app.name], {
ngStrictDi: true
});
}());
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js">
</script>
<div id="app" ng-controller="AppController">
{{growthSum()}}
</div>
イム)(Object.valuesに無効なエラーを取得 –
@KevalRaj古いランタイムと互換性のあるバージョンを追加しました。それが失敗すると、オブジェクトは指定したとおりに表示されません –
Visual Studioで構文エラーが発生しました。何か不足していますか? (値=>!isNaN(値)).reduce((合計、値)=>合計+値)。 Object.keys($ scope.Growth).map(key => $ scope.Growth [ 0) –