Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.09.2016, 00:11
Кандидат Javascript-наук
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 103

цикл массива
скрипт должен вывести 1 раз только найденный объект, сейчас выводит не правильно, срабатывает столько раз сколько и обьектов


var mass = [ 
  {  id: 0, name: 'test1'},
  {  id: 1, name: 'test2'},
  {  id: 2, name: 'test3'} ]
	
for (var i = 0; i < mass.length; i++) {

  if(mass[i].name == 'test1'){
		console.log(true);
  } else {
		console.log(false);
  }
};
Ответить с цитированием
  #2 (permalink)  
Старый 14.09.2016, 00:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

SpaceAlarm,
так поставьте break в строке 9
Ответить с цитированием
  #3 (permalink)  
Старый 14.09.2016, 00:32
Кандидат Javascript-наук
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 103

Сообщение от рони Посмотреть сообщение
SpaceAlarm,
так поставьте break в строке 9
если я заменяю if(mass[i].name == 'test3') то происходит та же лабуда,

var mass = [ 
  {  id: 0, name: 'test1'},
  {  id: 1, name: 'test2'},
  {  id: 2, name: 'test3'} ]
	
for (var i = 0; i < mass.length; i++) {

  if(mass[i].name == 'test2'){
		console.log(true);
    break;
  } else {
		console.log(false);
    break;
  }
};

Мне нужно, что бы если находило test1-2-3 то было true, если же нет test4 допустим то false

Последний раз редактировалось SpaceAlarm, 14.09.2016 в 00:36.
Ответить с цитированием
  #4 (permalink)  
Старый 14.09.2016, 00:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

SpaceAlarm,
мне сложно понять вас
Ответить с цитированием
  #5 (permalink)  
Старый 14.09.2016, 00:56
Кандидат Javascript-наук
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 103

Цитата:
SpaceAlarm,
мне сложно понять вас
смотрите у меня есть массив,
var mass = [ 
  {  id: 0, name: 'test1'},
  {  id: 1, name: 'test2'},
  {  id: 2, name: 'test3'} ]


мне нужно вывести, если находит одно из значений которое я укажу, если test 1 или 2 или 3, true, если я укажу значение test4 но его в массиве нет, то мне false вывести должно
Ответить с цитированием
  #6 (permalink)  
Старый 14.09.2016, 01:02
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

То есть, типа всплывает prompt, в него надо указать свойство, и если это свойство есть в объекте, то выводится true?
Ответить с цитированием
  #7 (permalink)  
Старый 14.09.2016, 01:05
Кандидат Javascript-наук
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 103

Цитата:
То есть, типа всплывает prompt, в него надо указать свойство, и если это свойство есть в объекте, то выводится true?
не совсем, вписывать не надо, у меня будет приходить свойство с сокета, и если это свойство есть в объекте, то выводится true, если этого свойства нету в объекте то false

Последний раз редактировалось SpaceAlarm, 14.09.2016 в 01:10.
Ответить с цитированием
  #8 (permalink)  
Старый 14.09.2016, 01:20
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var array = [
	{  id: 0, name: 'test1'},
	{  id: 1, name: 'test2'},
	{  id: 2, name: 'test3'} 
];

function isName(array, value) {
	return array.some(function(el){
		return el['name'] === value;
	});
}

alert(isName(array, 'Ivan')); //false
alert(isName(array, 'test2')); //true
Ответить с цитированием
  #9 (permalink)  
Старый 14.09.2016, 01:26
Кандидат Javascript-наук
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 103

Цитата:
Poznakomlus
О, спасибо, то что доктор прописал!
Ответить с цитированием
  #10 (permalink)  
Старый 14.09.2016, 01:52
Кандидат Javascript-наук
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 103

А почему сейчас false возвращает?
var array = [ 
	{ id: 0, test_name: 14131 },
        { id: 1, test_name: 41131411 } 
  ];

function isName(array, value) {
		return array.some(function(el){
                return el['test_name'] === value;
	});
  }
console.log(isName(array, '41131411'));

Последний раз редактировалось SpaceAlarm, 14.09.2016 в 02:02.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
Цикл завершается не дожидаясь выполнения функции leonoff jQuery 2 13.08.2014 16:02
Перебор массива - вложенный цикл SWin Общие вопросы Javascript 35 27.12.2013 05:06
Цикл завешивает страницу, помогите Romingood jQuery 5 19.10.2013 14:30
Нужен цикл для создания огромного массива apish Общие вопросы Javascript 2 20.09.2012 16:10