Чтобы достичь ожидаемого результата, используйте нижеприведенную опцию создания одного объекта, такого как свойства, и используйте его с функцией для расчетов на основе параметров
- Создание объекта с размером, давлением и соответствующим множителем
- Создать функцию с параметрами - размер, давление, единицы
- Возвращать вычисленное значение на основе параметров, переданных в функцию со значениями из объекта свойств
- Гибко, чтобы добавлять новые размеры в качестве нового объекта в объект свойств вместосоздание нового корпуса переключателя или обновление корпуса переключателя
var properties = {
50: {
'6': {multiplier: 4},
'10': {multiplier: 6},
'16': {multiplier: 10},
'na': {multiplier: 12}
},
80: {
'6': {multiplier: 6},
'10': {multiplier: 8},
'16': {multiplier: 20},
'na': {multiplier: 24}
},
100: {
'6': {multiplier: 8},
'10': {multiplier: 10},
'16': {multiplier: 20},
'na': {multiplier: 24}
},
150: {
'6': {multiplier: 8},
'10': {multiplier: 10},
'16': {multiplier: 16},
'na': {multiplier: 26}
}
}
function calculate(size, pressure, units){
return properties[size][pressure] ? properties[size][pressure].multiplier* units : properties[size]['na'].multiplier * units ;
}
console.log("size = 100, pressure = 6, units = 10, caculated holes --> ", calculate(100, 6, 10)); // 80
console.log("size = 100, pressure = 10, units = 10, caculated holes --> ", calculate(100, 10, 10)); //100
console.log("size = 150, pressure = 10, units = 10, caculated holes --> ", calculate(150, 10, 10)); // 100
codepen - https://codepen.io/nagasai/pen/VVozqw?editors=1010