0

我正在 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 是未定义的。有没有办法解决这个问题?

4

1 回答 1

2

您可以使用数组表示法:

var result = quantity * converter_table[category][from_unit] * converter_table[category][to_unit];
于 2012-10-09T02:21:20.560 回答