Получить уникальное значение из массива и сосчитать номер. повторений

У меня проблема при получении значений из массива: мой код -

var arr = [];
for (var k =1; k<=10000; k++)`  
{  
ret = iimSet("k", k);  
      retcode = iimPlay(test)  
  var s = iimGetLastExtract(1);  
if(s == null){  
          break;  
          }  
          else {            
    arr.push(s);  

          }  
var all = arr.join(" , ");  
var final = squash(arr);  
}

так что я могу удалить дубликаты, но все результаты в одной строке.

Чего я на самом деле хочу достичь, так это

     var arr = [];
                for (var k =1; k<=10000; k++)`  
                {  
                ret = iimSet("k", k);  
                      retcode = iimPlay(test)  
                  var s = iimGetLastExtract(1);  
                if(s == null){  
                          break;  
                          }  
                          else {            
                    arr.push(s);  

                          }  
                        var final = squash(arr);  

              only unqiue values
        var unq = no. of total unique values

                }

        for (var h =1; h<=unq; h++)`  
                {  
         var g=h-1;
        var c = every varaible value one by one (only unique value)
       var b = no. of times the value is repeating in the array

        ret = iimSet("c", c);
   ret = iimSet("b", b);  
        iimPlay(Save)
        }

Так что в основном я хочу, чтобы все значения из массива одно за другим и их не было. Я застрял в этой точке.

1 ответ

Я бы сохранил количество вхождений в объекте, ключом которого является рассматриваемое значение:

    var obj = {};
    for (var k =1; k<=10000; k++)
    {  
        // these three lines are your code and I dont know what they do.  But `s` is our value
        ret = iimSet("k", k);  
        retcode = iimPlay(test)  
        var s = iimGetLastExtract(1);

        if (!obj[s]) obj[s] = 0;
        obj[s]++;
    }

// the unique elements of your array are in Object.keys(obj)
// the count of occurrences are in obj[element];
Другие вопросы по тегам