首页 > 解决方案 > JS中对对象/数组的最快操作

问题描述

这里的 JS 很新,我在 PHP 中习惯的数组操作显然在 JS 中不起作用。我有一个带有日期(时间戳)、持续时间(数字)和模式(数字)的对象数组:


  {
    "date": 111, //Not proper timestamp, just for the purpose of the question
    "duration": 1.8333333333333333,
    "mode": 2
  },
  {
    "date": 111,
    "duration": 3.4,
    "mode": 1
  },
  {
    "date": 111,
    "duration": 2.9833333333333334,
    "mode": 2
  },
  {
    "date": 222,
    "duration": 5.666666666666667,
    "mode": 1
  },
  {
    "date": 222,
    "duration": 8.266666666666667,
    "mode": 2
  },
  {
    "date": 222,
    "duration": 0.5666666666666667,
    "mode": 1
  },
  {
    "date": 333,
    "duration": 9.25,
    "mode": 2
  }
]

我正在寻找的是对共享相同日期和模式的对象的持续时间求和。前任:

{
    "date": 111, //Not proper timestamp, just for the purpose of the question
    "duration": 3.4,
    "mode": 1
  },
  {
    "date": 111,
    "duration": 4.81,
    "mode": 2
  },
  {
    "date": 222,
    "duration": 6.2,
    "mode": 1
  },
  {
    "date": 222,
    "duration": 8.26,
    "mode": 2
  },
  {
    "date": 333,
    "duration": 9.25,
    "mode": 2
  }
]

我尝试创建和操作二维数组但没有成功。

例如循环我的初始数据集并像这样更新 result_array:

result_array[mode][date]+=duration;

谢谢

标签: javascriptarraysmultidimensional-array

解决方案


推荐阅读