我正在Javascript上构建一个单位转换器。我想要做的是在数组中存储或预定义所有单位值,如下所示:
var converter_table = {
'mass' : {
'kilogram' : 1000,
'gram' : 1,
'ounce' : .035274,
'pound' : .00220462
},
'length' : {
'kilometer' : 1000,
'meter' : 1
}
};
然后能够提取值并根据用户输入进行计算。例如:
var quantity = 25,
category = 'mass',
from_unit = 'kilogram',
to_unit = 'pound';
var result = quantity * converter_table.category.from_unit * converter_table.category.to_unit;
alert(result);
当然,除了converter_table.category.from_unit之外,还没有定义。有没有办法解决这个问题?
答案 0 :(得分:2)
您可以使用数组表示法:
var result = quantity * converter_table[category][from_unit] * converter_table[category][to_unit];