ES6: Как получить значения из вложенного объекта JS / массива объектов, без использования оператора Switch-case, для получения значений локатора.
Но мы не хотим использовать оператор switch-case
.
Просьба сообщить об альтернативе функционального программирования
let selector = null;
browser.timeoutsImplicitWait(3000);
const LOCATORS = {
topFilterIcon: 'AXY',
tabHeadings: {
IOS_SELCT: {
ValueTab: 'bla',
UnitsTab: 'bla2',
PriceTab: 'bla3'
},
ANDROID_SELECT: {
ValueTab: 'abc1',
UnitsTab: 'abc3',
PriceTab: 'abc4'
}
},
};
Код, который мы хотим заменить функциональным программированием, имеет следующий вид:
switch (heading.toString().toLowerCase()) {
case 'value':
selector = browser.isIOS ? LOCATORS.tabHeadings.IOS_SELCT.ValueTab : LOCATORS.tabHeadings.ANDROID_SELECT.ValueTab;
break;
case 'units':
selector = browser.isIOS ? LOCATORS.tabHeadings.IOS_SELCT.UnitsTab : LOCATORS.tabHeadings.ANDROID_SELECT.UnitsTab;
break;
case 'price':
selector = browser.isIOS ? LOCATORS.tabHeadings.IOS_SELCT.PriceTab : LOCATORS.tabHeadings.ANDROID_SELECT.PriceTab;
break;
default:
throw new Error('\n Error: Incorrect value received on Market Section ');
}
Пожалуйста, сообщите спасибо