2017-07-15 5 views

答えて

0
Object.values($scope.Growth) 
    .filter(value => !isNaN(value)) 
    .reduce((sum, value) => sum + value, 0) 

これは有効に変換されない任意の値をフィルタリング対象の各独自のプロパティの値

  • の配列を取得

    1. で動作します数字

    2. フィルタリングされた配列を減らすことによって、すべての値を集計します。

    古い実行時にいるとあなたに利用できる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>

  • +0

    イム)(Object.valuesに無効なエラーを取得 –

    +0

    @KevalRaj古いランタイムと互換性のあるバージョンを追加しました。それが失敗すると、オブジェクトは指定したとおりに表示されません –

    +0

    Visual Studioで構文エラーが発生しました。何か不足していますか? (値=>!isNaN(値)).reduce((合計、値)=>合計+値)。 Object.keys($ scope.Growth).map(key => $ scope.Growth [ 0) –

    関連する問題