在JavaScript中添加数组中的值

Adding values from arrays in JavaScript

本文关键字:数组 添加 JavaScript      更新时间:2023-09-26

我正在尝试将数组内部对象的一些值添加到一起。这是我的例子:

[
  {
    _id: "EnD2WbxhRJztDyfCA",
    day: "Saturday",
    totalMinutes: 10
  },
  {
    _id: "82NSKTYLiswWPbF8J",
    day: "Saturday",
    totalMinutes: 25
  }
]

我需要进入这个数组,获取它们的totalMinutes值,然后将它们加在一起。我遇到的另一个问题是数组中对象的数量发生了变化。所以我不能为每一个不同数量的对象做具体的案例。

这里有一个函数。你在数组中通过,它会返回总分钟数:

function getTotalMinutes(items) {
   var totalMinutes = 0;
   for (var i=0; i<items.length; i++) {
      var item = items[i];
      totalMinutes += item.totalMinutes;
    }
    return totalMinutes;
}

这可能会对您有所帮助。

var arr = [
  {
    _id: "EnD2WbxhRJztDyfCA",
    day: "Saturday",
    totalMinutes: 10
  },
  {
    _id: "82NSKTYLiswWPbF8J",
    day: "Saturday",
    totalMinutes: 25
  }
];
var result = 0;
for (var x = 0; x < arr.length; x++ ){
  result += arr[x].totalMinutes 
}
console.log(result)

您将数组转换为JSON格式。所以首先你需要转换它。你可以按如下方式进行:-

var ele = jQuery.parseJSON( yourjson );

然后可以将每个元素作为ele.time进行访问。这也可以在jQuery.each() 中执行

希望这对你有帮助。

您需要首先解析JSON:

var arr = JSON.parse(myJson);

然后,您可以将数组缩减为一个值:

var value = arr.reduce(function (prev, curr) {
    return prev + curr.totalMinutes;
}, 0);

arr.reduce存在性能问题,我发现如果您有巨大的数据渲染,这个解决方案会更好。

function getTotalMinutes(arr) {
  var result = 0;
  for (var i in arr){
    result += arr[i]['totalMinutes'];
  }
  return result;
}