当前位置: 首页 > 面试题库 >

如何计算数组中每个项目的出现次数?[重复]

白灿
2023-03-14
问题内容

我有一个数组如下

var arr = ['ab','pq','mn','ab','mn','ab']

预期结果

arr['ab'] = 3
arr['pq'] = 1
arr['mn'] = 2

尝试如下

$.each(arr, function (index, value) {
    if (value) 
        arr[value] = (resultSummary[value]) ? arr[value] + 1 : 1;
});

console.log(arr.join(','));

问题答案:

无需使用jQuery即可完成此任务-此示例将构建一个对象,其中包含数组中每个不同元素的出现次数 O(n)

var occurrences = { };
for (var i = 0, j = arr.length; i < j; i++) {
   occurrences[arr[i]] = (occurrences[arr[i]] || 0) + 1;
}

console.log(occurrences);        // {ab: 3, pq: 1, mn: 2}
console.log(occurrences['mn']);  // 2
var occurrences = arr.reduce(function(obj, item) {
  obj[item] = (obj[item] || 0) + 1;
  return obj;
}, {});

console.log(occurrences);        // {ab: 3, pq: 1, mn: 2}
console.log(occurrences['mn']);  // 2


 类似资料:
  • 问题内容: 有什么方法可以计算数组中每个项目的出现? 可以说我有: 这里的输出将是: 如果我有: 输出为: 这里的输出只是为了展示预期的结果。 问题答案: 你可以使用来自Google Collections / Guava的或来自Apache Commons的。 如果你有一个集合而不是一个数组,则可以用于addAll()将整个内容添加到上述数据结构中,然后将该方法应用于每个值。一个或会给你以定义的

  • 问题内容: 我想计算数组中每个重复项的出现,最后得到一个唯一的/非重复项及其各自出现的数组。 这是我的代码;但是我没有错! 问题答案: , 请享用 :-) 结果:

  • 问题内容: 如果我有英文文章或英文小说,并且想计算每个单词出现多少次,用Java编写的最快算法是什么? 有人说您可以使用Map ()完成此操作,但我想知道如何知道关键字是什么?每篇文章都有不同的词,您如何知道“关键”词,然后在其数量上加上一个? 问题答案: 这个数字“我是”只是一个字

  • 我已经将代码中的read整数修复为不再是I而是一个单独的变量“index”,并理解为什么我会收到Over Ofbound异常,但我有点厚,不明白如何在添加哨兵值0的同时修复它。

  • 问题内容: 我有一个看起来像这样。 对于此数据帧中的每一行,我想计算C1,C2,C3中每一个的出现次数,并将此信息作为列附加到此数据帧中。例如,第一行具有1 C1、0 C2和0 C3。最终数据帧应如下所示 因此,我创建了一个以C1,C2和C3作为值的系列- 一种最重要的方法是在DataFrame的行和列上循环,然后在该Series上循环,并在计数器匹配时递增计数器。但是,有没有一种方法可以以紧凑的

  • 我已经被设置了一个任务,这意味着我需要创建一个'3个或更多的骰子游戏‘。我所坚持的是这个游戏所需要的计分系统,它是这样的:“玩家依次掷出所有五个骰子,并为同类中的三个或更好的骰子得分。如果玩家只有同类中的两个,他们可能会重新掷出剩余的骰子,试图提高匹配的骰子值。如果没有匹配的数字被掷出,玩家得分为0。 游戏进行了一定数量的回合(比如50回合),游戏结束时总分最高的玩家是获胜者。“我需要计算出如何将