Прервать цикл for...in при совпадении
Как прервать цикл при нахождении совпадения? Функция перекликивает табы на странице. Должна остановиться на табе, локатор которого я передал в nameOfTab.
goOnTab: function(nameOfTab){
for (let nameOfTab in locators.tabs){
if (nameOfTab === locators.tabs)
break;
this.click(locators.tabs[nameOfTab])
}
Структура хранения локаторов:
const locators = {
tabs: {
home: 'Товары для дома',
girl: 'Женская одежда и аксессуары',
bag: 'Чемоданы и сумки',
sport: 'Хобби, спорт, путешествия',
children: 'Детские товары',
}}
Данный вариант заканчивает на одну итерацию раньше, чем нужно:
function(last) {
for (let nameOfTab in locators.tabs) {
if (nameOfTab === last) {
break;
}
this.click(locators.tabs[nameOfTab])
}
}
Ответы (1 шт):
Автор решения: Alexey Ten
→ Ссылка
- Переменная
nameOfTabобъявленная в цикле перекрывает одноимённый аргумент функции. - Значение в
nameOfTabстрока гарантированно никогда не равна объектуlocators.tabs.