mess with it and it will make sense after few hours
Обработка списка
-
Все таки способ немного не подходит
делаю так:
forreach список:
получаю длину списка
удаляю forreach data со списка
получаю длину списка
разницу вывожу в переменную
вывожу результат - forreach data:количество упоминанийНо все равно в forrech data попадают элементы списка, которые уже были посчитаны, и в результаты попадают элементы с упоминанием 0
Временно сделал в средине после получения разницы, если она равна 0 то начинается следующая итерация, но все равно как то не то -
function unique(arr) {
var result = [];nextInput:
for (var i = 0; i < arr.length; i++) {
var str = arr[i]; // для каждого элемента
for (var j = 0; j < result.length; j++) { // ищем, был ли он уже?
if (result[j] == str) continue nextInput; // если да, то следующий
}
result.push(str);
}return result;
}var strings = [
"собака",
"кошка",
"птица",
"кошка",
"птица",
"кошка",
"птица",
"собака"
];alert( unique(strings) );
-
Вот более менее простой способ решения проблемы на js
[[LIST]] = ['собака', 'кошка', 'птица', 'кошка', 'птица', 'кошка', 'птица', 'собака'] [[HASH]] = [[LIST]].reduce(function(hash, elem){ hash[elem] = (hash[elem] || 0) + 1; return hash }, {}) log(JSON.stringify([[HASH]]))