【问题标题】:how to add key values in list of object in javascript如何在javascript中的对象列表中添加键值
【发布时间】:2018-01-24 10:23:34
【问题描述】:

初学者需要建议。 如何从对象列表中添加值 如果我有

var arr = [{key1: value1}, {key2: value2}];

我想在其中添加值 1 + 值 2 并将其存储在另一个变量中。 编辑:给定值 1 和值 2 是数字。数组中可以有 1-4 个对象。

【问题讨论】:

  • 好吧,在这种情况下var anotherVariable = arr[0].key1 + arr[1].key2
  • 要对数组中的所有值求和吗,keys,key1 和 key2 是否相等
  • 如果数组中总是有 2 个对象,这将只能工作,对吗?如果可以有 1-4 个对象(总是相同的格式),如果数组中可以有 1-4 个对象,我应该循环吗?如果是这样,如何?请。 Sorrz 应该指定这个
  • 您仍然可以及时使用此新信息修改您的问题。请添加它们。
  • @MichaelAnděl 看看我的回答我已经更新了

标签: javascript arrays add


【解决方案1】:

如果你有类似这样的属性名称

var arr = [{key1: 1}, {key1: 2}, {key1: 2}, {key1: 2}];
var sum = 0;
for(var i = 0; i < arr.length; i++)
  sum += arr[i].key1;
  
console.log(sum);

如果不是这样

var arr = [{key1: 1}, {key1: 2}, {key3: 2}, {key4: 2}];
var sum = 0;
for(var i = 0; i < arr.length; i++)
  sum += Object.values(arr[i])[0];
  
console.log(sum);

【讨论】:

    【解决方案2】:

    如果你想推入同一个数组,你可以这样做

    var arr = [{
      key1: 1
    }, {
      key2: 3
    }];
    
    var sum = 0; // Create a variable to store the sum
    // loop over it and get each object
    arr.forEach(function(item) {
      // again using for ..in loop since key name is different
      for (var keys in item) {
        sum += item[keys]
      }
    })
    // pushing the value to the array
    arr.push({
      key3: sum
    });
    
    console.log(arr)

    【讨论】:

      【解决方案3】:

      访问数组元素需要使用索引,然后可以使用键访问值

      arr[0] 将返回数组的第一个对象。

      arr[0]['key1']arr[0].key1 将返回数组第一个元素中 key1 的值。

      你的代码会是这样的

      value3 = arr[0].key1 + arr[1].key2
      arr.push({key3: value3})
      

      或者您需要创建循环以在所有元素中进行迭代。

      【讨论】:

        猜你喜欢
        • 2021-12-24
        • 2013-09-28
        • 2016-02-11
        • 2010-11-13
        • 1970-01-01
        • 2023-01-17
        • 1970-01-01
        相关资源
        最近更新 更多