30.08.2017, 19:26
|
Новичок на форуме
|
|
Регистрация: 30.08.2017
Сообщений: 8
|
|
как проверить что 3 элемента массива повторяются
мне нужна функция которая будет проверять массив и оставлять в нем все элементы которые повторяются 3 и более раз но перебор с помощью циклов не подходит так как планирую вызывать функцию более 100 раз
|
|
30.08.2017, 20:02
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от angrypchelka
|
перебор с помощью циклов не подходит
|
интересно узнать другой вариант??? может вы что-то не договариваите?
|
|
30.08.2017, 20:48
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
angrypchelka,
а элементы в массиве - какие? строки, числа, объекты?
|
|
30.08.2017, 20:54
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
|
|
30.08.2017, 23:04
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
var arr = [9, 9, 9, 111, 5, 2, 5, 3, 4, 4, 5, 7];
arr=arr.filter((el, i)=> {
var s = 0;
while (i--) if (el == arr[i]) s++;
return (s>1&&s<=2);
});
alert(arr);
Последний раз редактировалось j0hnik, 31.08.2017 в 01:42.
|
|
31.08.2017, 00:02
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
j0hnik,
что делает ваш код ?
|
|
31.08.2017, 00:06
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Сообщение от рони
|
j0hnik,
что делает ваш код ?
|
Рони, если вы какой то косяк заметили, пишите сразу, что интриговать.
|
|
31.08.2017, 00:06
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
оставляет в массиве элементы которые повторяются 3 или более раз
|
|
31.08.2017, 00:59
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
j0hnik,
var arr = [9, 9, 9, 111, 5, 2, 3, 4, 4, 5, 5,5,7];
arr=arr.filter((el, i)=> {
var s = 0;
while (i--) if (el == arr[i]) s++;
return (s>1);
});
alert(arr)
|
|
31.08.2017, 01:14
|
|
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
Рони, модифицировал
function three(arr){
return arr.filter((el, i)=> {
var s = 0;
while (i--) if (el == arr[i]) s++;
return (s>1&&s<=2);
});
}
alert(three([9, 9, 9, 111, 5, 2, 3, 4, 4, 5, 5,5,7]));
Последний раз редактировалось j0hnik, 31.08.2017 в 01:42.
|
|
|
|