gpt4 book ai didi

javascript - 如何统计数组中每一项出现的次数?

转载 作者:行者123 更新时间:2023-12-03 21:49:22 25 4
gpt4 key购买 nike

我有一个数组,如下所示,

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

Example fiddle

<小时/>

您还可以使用Array.reduce获得相同的结果并避免 for 循环

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

Example fiddle

关于javascript - 如何统计数组中每一项出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11649255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com