Как создать объект из массива? значение массива становится ключом объекта, а количество повторяющихся значений становится значением объекта

0

мой массив выглядит так:

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

Как создать объект из массива? значение массива становится ключом к объекту, а числовое дублирующее значение становится значением объекта

Я хочу получить следующий объект

{
  "a" : 3
  "b" : 1
  "c" : 2
  "d" : 2
}
Теги:
object
arrays

2 ответа

3

Это то, чего вы пытаетесь достичь? https://jsfiddle.net/yf184qob/

var arr = ['a','b','c','d','d','e','a','b','c','f','g','h','h','h','e','a'];
var obj = {};
for(var a in arr){
    var temp = arr[a];
    if(typeof obj[temp] == "undefined"){
        obj[temp] = 0;
    }
    obj[temp]++;
}

console.log(obj);
0
var arr =['a','b','c','d','d','e','a','b','c','f','g','h','h','h','e','a'];


    var cv ={};
    for(var i=0;i<arr.length;i++)
    {
        if (!(arr[i] in cv))
        {
            cv[arr[i]] =1

        }else
        {
            cv[arr[i]]=cv[arr[i]]+1;
        }
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню