我正在使用对象的键和值来填充其他对象,如下所示:
var default_columns = {
column_a: 'value_a',
column_b: 'value_b',
column_c: 'value_c'
// [...]
}
var new_object = {};
for (var key in default_columns) {
new_object[key] = default_columns[key];
}
但是稍后在我的程序中,我想将这些键重新用作参数。我可以做这样的事情:new_object['column_a']
但如果我改变'column_a'
了,default_columns
我需要在代码中的任何地方更新它。
我想过像这样定义我的对象:
var default_columns = {
a: { k: 'column_a', v: 'value_a' },
b: { k: 'column_b', v: 'value_b' },
c: { k: 'column_c', v: 'value_c' }
}
并按如下方式遍历它:
var new_object = {};
for (var key in default_columns) {
new_object[default_columns[key].k] = default_columns[key].v;
}
这也将允许我将键用作参数 ( new_object[default_columns.a.k]
),同时让我有机会更改键(例如更改'column_a'
为'my_column_a'
)default_columns
而无需更新代码。
有没有一种更易读的方式来做我试图用第二种方法实现的目标?