【问题标题】:find duplicated values in array and return how many time or 0?在数组中查找重复值并返回多少次或 0?
【发布时间】:2022-12-12 21:16:46
【问题描述】:

我有一组日期:

let arr = ['02-11-2022', '02-11-2022', '03-11-2022', '04-11-2022', '04-11-2022', '04-11-2022', '05-11-2022', '07-11-2022'];

我想搜索哪些日期重复了多少次? 如果像 06-11-2022 一样跳过日期,那么它将为 0(例如节省空间)。 像这样返回新数组中的所有内容:

let new = [2,1,3,1,0,1];

我想节省空间,以便稍后比较:

arr[0] == new[0]...
arr[3] == new[3]...
arr[5] == new[5]...

我尝试了很多功能,但无法节省空间或以正确的方式计算它。

谢谢你。

【问题讨论】:

  • 当其中一个只有数字时,您如何比较 arr 和新数组?我没有得到这个输出的用例

标签: javascript arrays duplicates numbers


【解决方案1】:
const dateCount = {};
const dates = ['02-11-2022', '02-11-2022', '03-11-2022', '04-11-2022', '04-11-2022', '04-11-2022', '05-11-2022', '07-11-2022'];
dates.forEach((date) => {
    dateCount[date] = (dateCount[date] || 0) + 1;
})

console.log(dateCount)

【讨论】:

    猜你喜欢
    • 2012-02-13
    • 2021-11-26
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多