Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подсчет одинаковых элементов в массиве (https://javascript.ru/forum/misc/65893-podschet-odinakovykh-ehlementov-v-massive.html)

Mayder 13.11.2016 21:51

Подсчет одинаковых элементов в массиве
 
Доброго времени суток! Имеется массив
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 все значения выводятся в один элемент, соответственно, такой массив нельзя отсортировать.
Буду рад за любую подсказку!

рони 13.11.2016 21:59

Mayder,
var arr2={}; ваша задача отсортировать массив arr а не обьект arr2, но используя значения ключей arr2

Mayder 13.11.2016 22:21

Цитата:

Сообщение от рони
отсортировать массив arr а не обьект arr2, но используя значения ключей arr2

Можно небольшой пример кода? Не могу сообразить как это сделать.

рони 13.11.2016 22:26

Цитата:

Сообщение от Mayder
Можно небольшой пример кода?

строка 20
http://javascript.ru/forum/misc/6588...tml#post434889

Mayder 13.11.2016 22:35

Спасибо!


Часовой пояс GMT +3, время: 15:31.