首页 > 解决方案 > 从数组中获取特定数据并放入其他数组

问题描述

我在 javascript 中有这个结果,我想获得价值超过 3 的数据,我想放入其他数组。

"availableDates": {
  "2020-01-24": 1,
  "2020-01-23": 3,
  "2020-01-22": 2,
  "2020-01-21": 1,
  "2020-01-25": 4,
  "2021-01-07": 1
}

我在这里分组:

const formattedDate = x.reduce((acc,el) => {
  const date = el.split(" ")[0];
  acc[date] = (acc[date] || 0) + 1;
  return acc;
}, {});

现在我想将所有值超过 3 的日期放入其他数组中。例如

newarray = [ "2020-01-23", "2020-01-25" ]

标签: javascriptarraysobjectfilterjavascript-objects

解决方案


为什么不使用简单.filter()的过键"availableDates"

const grouped =  {
  "availableDates": {
      "2020-01-24": 1,
      "2020-01-23": 3,
      "2020-01-22": 2,
      "2020-01-21": 1,
      "2020-01-25": 4,
      "2021-01-07": 1
  }
};

const newArray = Object.keys(grouped.availableDates).filter((key) => grouped.availableDates[key] >= 3);

console.log(newArray);


推荐阅读