Показать сообщение отдельно
  #5 (permalink)  
Старый 30.09.2013, 01:34
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

harold, сортировка не нужна

function StatOfArr(A)
{
    var n = A.length, B = [], b = 0;
      
    for (var i = 0; i < n; i++)
     { var k = 0, count = 1;
       while (k < b && B[k][0] !== A[i]) k++;
       if (k === b)
        { for (var j = i+1; j < n; j++){ if (A[i] === A[j]) count++; }
          B[b++] = [A[i],count]; 
        }
     }
   
    return B;
}

var arr = [2, 7, 5, 1, 'a', 5, 2, 2, 'a', 'a', 7, 0];
alert( '[['+StatOfArr(arr).join('], [')+']]' );

Последний раз редактировалось Demath, 30.09.2013 в 01:36.
Ответить с цитированием