Extjs изменение 3 значений в один массив

Пытаясь познакомиться с массивами extJS и имея некоторые проблемы с их настройкой, в настоящее время у меня есть следующий код ...

 if(!multiLine){
    phe = deviceType.search(check1);
    if(phe !== -1){phoneExists = true;}

    phe = deviceType.search(check2);
    if(phe !== -1){phoneExists = true;}

    phe = deviceType.search(check3);
    if(phe !== -1){phoneExists = true;}
}
return phoneExists;

Вместо того, чтобы просто проверять 3 раза по отдельности, как я могу проверить все сразу в массиве?

0
0
29
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это больше вопрос Javascript, чем вопрос extJS. Вы можете использовать метод Array.some, чтобы проверить, что найден хотя бы один элемент:

var devices = [check1, check2, check3]
var phoneExists = devices.some(x => deviceType.search(x) >= 0)

Подробнее о Array.some

Я получаю ошибки, когда пытаюсь запустить этот код через Sencha Architect, есть идеи, что нужно изменить?

user5843278 27.08.2018 21:39

var devices = [check1, check2, check3]; var phoneExists = devices.some (x> deviceType.search (x)> 0); Uncaught ReferenceError: x не определен

user5843278 27.08.2018 21:54

Это должно быть с =>, а не с >, где у вас есть pos.some(x ... var devices = [check1, check2, check3]; var phoneExists = pos.some (x => deviceType.search (x)> 0); Это функция стрелки ES6 и т. д.

Akrion 27.08.2018 21:55

Что, если я хочу проверить, имеет ли он значение == -1? а не правда или ложь?

user5843278 27.08.2018 22:04
var phoneExists = devices.some(x => deviceType.search(x) == -1)
Akrion 27.08.2018 22:07

У меня была орфографическая ошибка, когда я это тестировал, лол, извините, спасибо

user5843278 27.08.2018 22:10

Другие вопросы по теме