Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.01.2021, 19:39
Новичок на форуме
Отправить личное сообщение для JShaman Посмотреть профиль Найти все сообщения от JShaman
 
Регистрация: 03.01.2021
Сообщений: 1

Javascript поиск дубликатов с исключением
Приветствую ,
У меня имеются след. переменные :
var a2 = 3;
var b2 = 10;
var c2 = 3;
var d2 = 3;
var e2 = 10;

var wild =10;

Задача пройтись по порядку от a2 до e2 в поиске дубликатов , и вызывать функцию console.log(); при
совпадении каждой комбинаций (a2,b2,c3) , (a2,b2,c3,d2) , (a2,b2,c3,d2,e2)
проверку должны пройти комбинации с одинаковыми значениями от начала до конца:
Код:
true, если значение по порядку совпадают :
если
a2=0,b2=0,c2=0
вызвать функцию 1
если :
a2=0,b2=0,c2=0,d2=0
вызвать функцию 2
если :
a2=0,b2=0,c2=0,d2=0,e2=0
вызвать функцию 3
Код:
false , если значение одного или более из элементов отличается от ряда дубликатов .
например :
a2=1,b2=0,c2=0
a2=0,b2=1,c2=0,d2=0
a2=0,b2=0,c2=1,d2=0,e2=0
Но главная задача является добавить исключение , а именно переменную wild которая = 10.
например такой ряд комбинации считается true:
Код:
a2=10,b2=0,c2=0
a2=0,b2=10,c2=0,d2=0
a2=0,b2=0,c2=10,d2=0,e2=10
Без данного исключения (wild) поиск и сравнение можно было бы реализовать данным образом
//Проверка дубликатов
if(a2==b2){
console.log("a2==b2");
if(b2==c2){
console.log("b2==c2");
if(c2==d2){
console.log("c2==d2");
if(d2==e2){
console.log("d2==e2");
}
}
}
}

Подскажите как в данную конфигурацию добавить wild как исключение.

Последний раз редактировалось JShaman, 03.01.2021 в 19:53.
Ответить с цитированием
  #2 (permalink)  
Старый 03.01.2021, 20:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

JShaman,
не осилил ...
Ответить с цитированием
  #3 (permalink)  
Старый 03.01.2021, 21:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

JShaman,
возможно вы хотели так ...
const repeat = (arr, wild) => {
let current, cut = [];
for(a of arr) {
if(a === wild || a === current) cut.push(a);
else if(current === void 0) cut.push(current = a);
else break;
}
return cut
}
let arr = [3, 10, 3, 3, 10], wild = 10;
console.log(repeat(arr, wild))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуется javascript ninja для небольшой задачи Achilles_sm Работа 7 01.07.2015 17:33
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Поиск javascript К@ртель Общие вопросы Javascript 2 07.01.2012 15:47
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31