const obj = {
distance: {
unit: 'm',
value: '' /** вот в это ключ пытаюсь поместить значение но оно не обновляется данными с инпута хотя если
посмотреть через консоль лог obj.distance.value получает данные
**/
},
convert_to: 'cm'
};
const inputIn = document.querySelector('.converter__input-in');
inputIn.addEventListener('keyup', (e) => {
e.preventDefault();
obj.distance.value = +inputIn.value
console.log(obj.distance.value)
});
const convertTo = (obj) => {
const inUnit = obj.distance.unit;
const unit = obj.convert_to;
const inValue = obj.distance.value;
let sum;
const inputOut = document.querySelector('.converter__input-out');
// in meters
if (inUnit === 'cm' && unit === 'm') {
sum = inValue * 0.01;
}
if (inUnit === 'in' && unit === 'm') {
sum = inValue * 0.254;
}
if (inUnit === 'ft' && unit === 'm') {
sum = inValue * 0.3048;
}
// in centimeters
if (inUnit === 'm' && unit === 'cm') {
sum = inValue * 100;
}
if (inUnit === 'in' && unit === 'cm') {
sum = inValue * 2.54;
}
if (inUnit === 'ft' && unit === 'cm') {
sum = inValue * 30.48;
}
// in inches
if (inUnit === 'm' && unit === 'in') {
sum = inValue * 39.3701;
}
if (inUnit === 'cm' && unit === 'in') {
sum = inValue * 0.393701;
}
if (inUnit === 'ft' && unit === 'in') {
sum = inValue * 12;
}
// in foot
if (inUnit === 'm' && unit === 'ft') {
sum = inValue * 3.28084;
}
if (inUnit === 'cm' && unit === 'ft') {
sum = inValue * 0.328084;
}
if (inUnit === 'in' && unit === 'ft') {
sum = inValue * 0.833333;
}
const value = +sum.toFixed(2);
const result = { unit, value };
inputOut.value = value;
return result;
};
console.log(convertTo(obj));
<input class="converter__input-in" name="value" type="text">
<input class="converter__input-out" type="text">