Страницы

Поиск по вопросам

воскресенье, 7 апреля 2019 г.

найти количество повторяющихся элементов в массиве

//найти количество повторяющихся элементов в массиве (ответ 8)
//вот наброски

//если можно,то поправьте мои записи


Ответ

Классический способ
function calc(a) { var count={}, res=0, q;
for (q=0; q for (q in count) { if (count.hasOwnProperty(q) && count[q] > 1) { res += count[q]; } }
return res; }
calc([1,11,13,121,13,11,11,11,7,9,9]) // 8
ES6
function calc(a) { let count = Object.create(null);
for (let x of a) { count[x] = ~~count[x] + 1; }
return a.length - Object.keys(count).filter(x => count[x]>1).length; }
calc([1,11,13,121,13,11,11,11,7,9,9]) // 8
PS: Допускаю, что на ES6 можно ещё что-то переписать.

Комментариев нет:

Отправить комментарий