Better way to sum a property value in an array

后端 未结 16 1801
遥遥无期
遥遥无期 2020-11-22 02:41

I have something like this:

$scope.traveler = [
            {  description: \'Senior\', Amount: 50},
            {  description: \'Senior\', Amount: 50},
             


        
16条回答
  •  生来不讨喜
    2020-11-22 03:27

    Here's a solution I find more flexible:

    function sumOfArrayWithParameter (array, parameter) {
      let sum = null;
      if (array && array.length > 0 && typeof parameter === 'string') {
        sum = 0;
        for (let e of array) if (e && e.hasOwnProperty(parameter)) sum += e[parameter];
      }
      return sum;
    }
    

    To get the sum, simply use it like that:

    let sum = sumOfArrayWithParameter(someArray, 'someProperty');
    

提交回复
热议问题