Javascript 对于给定的字符串数组(每个字符串都有一个项目名称),请按项目名称对所有字符串进行分组

Javascript 对于给定的字符串数组(每个字符串都有一个项目名称),请按项目名称对所有字符串进行分组,javascript,Javascript,str_arr=[“a”、“a”、“b”、“c”、“b”] 结果数组应为[“A2”、“B2”、“C1”] 我无法使用以下代码获得所需的结果 function foo(str) { var a = [], b = [], prev; for ( var i = 0; i < str.length; i++ ) { if ( str[i] !== prev ) { a.push(str[i]); b.push(1

str_arr=[“a”、“a”、“b”、“c”、“b”]

结果数组应为[“A2”、“B2”、“C1”]

我无法使用以下代码获得所需的结果

function foo(str) {
    var a = [], b = [], prev;

    for ( var i = 0; i < str.length; i++ ) {
        if ( str[i] !== prev ) {
            a.push(str[i]);
            b.push(1);
        } else {
            b[b.length-1]++;
        }
        prev = arr[i];
    }

    return [a, b];
}

var result = foo(str_arr);
var newA = result[0].map((e, i) => e  + " " + result[1][i]+ "<br>");
函数foo(str){ var a=[],b=[],上一个; 对于(变量i=0;ie+“”+result[1][i]+“
”;
你可以拿一个物体来计算物品的数量和数量

  • 获取对象的关键点
  • 按计数递减和按键递增排序
  • 映射键并计数为字符串
然后返回数组

函数foo(事务){
变量计数={};
对于(变量i=0;i计数[b]-计数[a]| | a>b | |-(ak+''+计数[k]);
}
var事务=[“笔记本”、“笔记本”、“鼠标”、“键盘”、“鼠标”],
结果=foo(交易);

控制台日志(结果)这里有一个函数,用于向数组中的唯一字添加计数

这一个更老派,通过迭代排序数组

函数countDistinctWords(arr){
如果(arr.length==0)返回arr;
arr=arr.sort();
让结果=[];
设n=1;
对于(设i=1;i控制台日志(str_arr2)无需排序。原始阵列不受影响

功能组(arr){
var hits={},group_arr=[];
对于(变量i=0;i