【问题标题】:Is there a way to sum all the given keys in an array? JS有没有办法对数组中的所有给定键求和? JS
【发布时间】:2019-10-25 05:40:38
【问题描述】:

所以我最近了解到可以将对象用作数组中的数据类型。 所以我需要做的是遍历这个数组,并添加每个年龄,然后将年龄总和除以数组的长度,得到所有人的平均年龄。事情是我不明白你会如何调用给定的键。

我知道要调用第一个对象,您会写“people[0]”,但我不知道如何从该对象获取密钥并将其传递给函数。

let people=[ {name:'Don', Age:23},
             {name:'Ron', Age:21}, 
             {name:'Juan', Age:20}
             ]

// return /people.length

【问题讨论】:

    标签: arrays object for-loop sum


    【解决方案1】:

    如果你想添加年龄,然后除以数组的长度得到平均值,这种情况下你可以简单地使用 Array.map()

       let people=[ 
                 {name:'Don', Age:23},
                 {name:'Ron', Age:21}, 
                 {name:'Juan', Age:20}]
        //Sum
        let sum = 0;
        //Map
        people.map((value)=> { 
         sum += value.Age; 
        })
        //Average Result
        let avg_Age = sum / people.length
        console.log('Average Age', avg_Age)

    【讨论】:

      【解决方案2】:

      希望这会有所帮助。

      let people=[ {name:'Don', Age:23},
               {name:'Ron', Age:21}, 
               {name:'Juan', Age:20}
             ];
      
      var totalPeople = people.length;
      var totalAge = 0
      var averageAge = 0;
      
      for (var key in people) {
        // skip loop if the property is from prototype
        if (!people.hasOwnProperty(key)) continue;
      
        var obj = people[key];
        for (var prop in obj) {
          // skip loop if the property is from prototype
          if (!obj.hasOwnProperty(prop)) continue;
      
          if(prop == 'Age') {
            totalAge += obj[prop];
          }
        }
      }
      
      averageAge = totalAge / totalPeople;
      alert(averageAge);
      

      【讨论】:

        【解决方案3】:

        您可以使用以下代码遍历对象和访问键: 让总和 = 0;

        for(let i=1;i<=people.length;i++) {
        sum = sum + people[i-1].Age;
        }
        console.log(sum/people.length);
        
        //output
        21.333333333333332
        

        你也可以使用 foreach 方法来遍历数组。 https://www.w3schools.com/jsref/jsref_obj_array.asp 通过此链接,您可以找到所有用于数组/对象操作的方法。

        【讨论】:

          【解决方案4】:

          要获取密钥,请致电Object.keys(people[0])

          请看Object.keys方法 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-04-18
            • 2020-11-06
            • 1970-01-01
            • 1970-01-01
            • 2010-11-24
            • 2014-02-14
            • 1970-01-01
            相关资源
            最近更新 更多