14.09.2016, 00:11
|
Кандидат Javascript-наук
|
|
Регистрация: 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);
}
};
|
|
14.09.2016, 00:24
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
SpaceAlarm,
так поставьте break в строке 9
|
|
14.09.2016, 00:32
|
Кандидат Javascript-наук
|
|
Регистрация: 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.
|
|
14.09.2016, 00:54
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
SpaceAlarm,
мне сложно понять вас
|
|
14.09.2016, 00:56
|
Кандидат Javascript-наук
|
|
Регистрация: 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 вывести должно
|
|
14.09.2016, 01:02
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
То есть, типа всплывает prompt, в него надо указать свойство, и если это свойство есть в объекте, то выводится true?
|
|
14.09.2016, 01:05
|
Кандидат Javascript-наук
|
|
Регистрация: 05.05.2016
Сообщений: 103
|
|
Цитата:
|
То есть, типа всплывает prompt, в него надо указать свойство, и если это свойство есть в объекте, то выводится true?
|
не совсем, вписывать не надо, у меня будет приходить свойство с сокета, и если это свойство есть в объекте, то выводится true, если этого свойства нету в объекте то false
Последний раз редактировалось SpaceAlarm, 14.09.2016 в 01:10.
|
|
14.09.2016, 01:20
|
|
Профессор
|
|
Регистрация: 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
|
|
14.09.2016, 01:26
|
Кандидат Javascript-наук
|
|
Регистрация: 05.05.2016
Сообщений: 103
|
|
О, спасибо, то что доктор прописал!
|
|
14.09.2016, 01:52
|
Кандидат Javascript-наук
|
|
Регистрация: 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.
|
|
|
|