Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.05.2016, 11:30
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от aklis Посмотреть сообщение
var data = ["Ваня", "Петя", "Кузя", "КуКузя", "Ваня"];

var filtered = data.filter(function(item, i, arr){
  if(~arr.indexOf(item)) return true;
  return false;
});

destus, подскажи пожалуйста: почему не сработало так? Никак не пойму где я ошибся.
Может так?

var data = ["Ваня", "Петя", "Кузя", "КуКузя", "Ваня"];

var filtered = data.filter(function(item, i, arr){
return arr.indexOf(item) === i;
});

alert(filtered);
Ответить с цитированием
  #12 (permalink)  
Старый 02.05.2016, 11:41
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

Все до меня дошло
Ответить с цитированием
  #13 (permalink)  
Старый 02.05.2016, 11:42
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

Дело в том что калбэк раз за разом берет значение из массива чтобы искать его в том де массиве, конечно оно там есть=) И так получается что все элементы попадают в результат.
Ответить с цитированием
  #14 (permalink)  
Старый 02.05.2016, 13:01
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

destus,
вот только значения в массив у меня будут заносить сами пользователи..
будет что-то типа такого:
data = [];
data[0] = q1;
data[1] = q2;
data[2] = q3;
data[3] = q4;
data[4] = q5;
Ответить с цитированием
  #15 (permalink)  
Старый 02.05.2016, 13:22
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

для добавления push пригодится
Ответить с цитированием
  #16 (permalink)  
Старый 02.05.2016, 13:44
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

Ещё вопрос:
Если все переменные равны, то вывести "Все переменные равны"
Сейчас у меня что-то типа такого:

var persclass_Arr = [];

persclass_Arr[0] = q1;
persclass_Arr[1] = q2;
persclass_Arr[2] = q3;
persclass_Arr[3] = q4;
persclass_Arr[4] = q5;

		set = new Set(persclass_Arr);
	
	set.size === persclass_Arr.length ? classsov = 0 : classsov = 1; // 0 - есть совпадение, 1 - совпадений нет

Последний раз редактировалось Ermite, 02.05.2016 в 22:28.
Ответить с цитированием
  #17 (permalink)  
Старый 02.05.2016, 14:00
Кандидат Javascript-наук
Отправить личное сообщение для aklis Посмотреть профиль Найти все сообщения от aklis
 
Регистрация: 27.04.2015
Сообщений: 99

Регулярки наверное можно использовать. Очень мощный инструмент для строк. Я пока только мельком читал про них, так что точно не скажу.
Ответить с цитированием
  #18 (permalink)  
Старый 02.05.2016, 14:28
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Ermite,
if (set.size === 1 && persclass_Arr.length > 1)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связанные между собой данные при передачи по GET zhurchik Общие вопросы Javascript 8 19.03.2015 16:08
Функция взаимодействия двух независимых между собой величин dmitry111 Общие вопросы Javascript 5 20.08.2012 10:51
скрипты конфликтуют между собой coshak AJAX и COMET 0 21.04.2011 11:01
Нужно сравнить дробные переменные netkent Общие вопросы Javascript 1 05.12.2010 18:30
Связь полей между собой vinnie Javascript под браузер 13 20.02.2010 17:19