Javascript - 遍历用户及其登录日期并合并数据集

问题描述 投票:0回答:0

我正在尝试构建一些仪表板组件 - 我想遍历数据以获得所有用户每天的总登录数。

代码看起来像这样 - 但需要设置标志以在日期(天)更改时减少计数

let people = [{
    "loginHistory": ["2023-04-25T18:00:54.205+00:00", "2023-04-26T18:00:54.205+00:00", "2023-04-26T18:04:54.205+00:00", "2023-04-27T18:00:54.205+00:00"]
  },
  {
    "loginHistory": ["2023-04-22T18:00:54.205+00:00", "2023-04-22T18:00:54.205+00:00", "2023-04-25T18:04:54.205+00:00", "2023-04-27T18:00:54.205+00:00"]
  }
]

//array of people -- with an array of login datestamps


//loop through the users and get a date/count 

let userDateValues = [];
let dateValues = [];

for (let i = 0; i < people.length; ++i) {
  let loginHistory = people[i].loginHistory;
  //sort array by date
  if (loginHistory) {
    for (let j = 0; j < loginHistory.length; ++j) {
      console.log("loginHistory[j]", loginHistory[j]);
    }
  }

  //flags to cut/count the logins per day for this user
  let dateValue = {
    "date": moment(), //unique day
    "value": 10
  }
  dateValues.push(dateValue);

  //add data to array
  userDateValues.push(dateValues);
}

console.log("dateValues", dateValues);
console.log("userDateValues", userDateValues);

//want to then merge ALL the counts per same day - so find out how many times ALL users had logged in each day

/*    
[{
    "date": moment(),
    "value": 10
  }, {
    "date": moment().add(1, 'days'),
    "value": 612
  }, {
    "date": moment().add(2, 'days'),
    "value": 23
  }, {
    "date": moment().add(3, 'days'),
    "value": 23
  }]
*/

javascript date momentjs
© www.soinside.com 2019 - 2024. All rights reserved.