Показать сообщение отдельно
  #1 (permalink)  
Старый 13.11.2016, 21:51
Новичок на форуме
Отправить личное сообщение для Mayder Посмотреть профиль Найти все сообщения от Mayder
 
Регистрация: 13.11.2016
Сообщений: 7

Подсчет одинаковых элементов в массиве
Доброго времени суток! Имеется массив
arr = ["aa", "aa",  "aa", "ab", "ab", "ac", "a", "s", ]

Стоит 2 задачи. Первая- найти одинаковые элементы и подсчитать их. Вторая отсортировать по количеству повторений. То есть в результате должно получиться что-то типа:
aa-3
ab-2
ac-1
a-1
s-1
Я нашел на форуме пример подсчета одинаковых элементов:
var arr=["aa","aa", "aa","ab","ab","ac","a","s",];
 
var arr2=[];
for(i in arr){
	if (arr2[arr[i]]!=undefined) {
		(arr2[arr[i]]++)
	}
	else {
		(arr2[arr[i]]=1)
	}

}
console.log(arr2);//число повторений для каждого элемента массива

Но недостаток этого решения в том, что в массив arr2 все значения выводятся в один элемент, соответственно, такой массив нельзя отсортировать.
Буду рад за любую подсказку!
Ответить с цитированием