Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   цикл массива (https://javascript.ru/forum/misc/64924-cikl-massiva.html)

SpaceAlarm 14.09.2016 00:11

цикл массива
 
скрипт должен вывести 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);
  }
};

рони 14.09.2016 00:24

SpaceAlarm,
так поставьте break в строке 9

SpaceAlarm 14.09.2016 00:32

Цитата:

Сообщение от рони (Сообщение 428644)
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

рони 14.09.2016 00:54

SpaceAlarm,
мне сложно понять вас

SpaceAlarm 14.09.2016 00:56

Цитата:

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


мне нужно вывести, если находит одно из значений которое я укажу, если test 1 или 2 или 3, true, если я укажу значение test4 но его в массиве нет, то мне false вывести должно

DivMan 14.09.2016 01:02

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

SpaceAlarm 14.09.2016 01:05

Цитата:

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

Vlasenko Fedor 14.09.2016 01:20

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

SpaceAlarm 14.09.2016 01:26

Цитата:

Poznakomlus
О, спасибо, то что доктор прописал!

SpaceAlarm 14.09.2016 01:52

А почему сейчас 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'));


Часовой пояс GMT +3, время: 03:03.