javascript - 使用 javascript/jquery 从现有数组创建一个新数组,该数组保存某个项目存在的次数

标签 javascript jquery arrays

我有一个数组中的项目列表,我想创建一个新数组,它是一个对象数组,键是现有数组中的值,值是该项目在现有数组中的次数大批。希望从那时起,如果不是希望这个例子能有所帮助。请不要使用 lodash 或 underscore 等第三方库。

任何帮助将不胜感激,谢谢。

var arr = [a,a,a,b,c,c,d,e,f,f,f,f];
new array =[{a:3},{b:1},{c:2},{d:1},{e:1},{f:4}];

到目前为止我的尝试:

            countryCodes.sort();
            var result = count(countryCodes);
            console.log(result[0]+": "+result[1]);
            function count(arr) {
                var a = [], b = [], prev;
                arr.sort();
                for ( var i = 0; i < arr.length; i++ ) {
                    if ( arr[i] !== prev ) {
                        a.push(arr[i]);
                        b.push(1);
                    } else {
                        b[b.length-1]++;
                    }
                    prev = arr[i];
                }
                return [a, b];
            }

最佳答案

你已经很接近了。

var a = "aa",
    b = "bb",
    c = "cc",
    d = "dd",
    e = "ee",
    f = "ff";

var arr = [a,a,a,b,c,c,d,e,f,f,f,f];

function getCount(arr) {
  var result = {};
  
  for (var val of arr) result[val] = result[val] + 1 || 1;
  
  return result;
}

var totals = getCount(arr);
document.write(JSON.stringify(totals));

关于javascript - 使用 javascript/jquery 从现有数组创建一个新数组,该数组保存某个项目存在的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36985704/

相关文章:

javascript - 按我的 json 对象分组并获取每个组的计数

javascript onclick代码更改

php - 如何使用 jquery 在动态添加的表行上创建计算

javascript - 有没有办法使用 JS 在 css 中添加转换的比例值

java - 尝试从数组中随机选择一个值时出现错误

c - 生成两个随机字符并将它们连接起来并存储在二维数组 C 中

javascript - 如何使用 HTML5 视频标签捕获 NETWORK_NO_SOURCE 错误

javascript - 如何在 Bootstrap 表中插入和更新数据?

javascript - Div 因未知原因未显示

arrays - 遍历从 Observable 的订阅函数创建的数组