引言:
今天遇到一个需求,需要动态创建一个 JS 对象数组,对象中的 key 值并不都是一样的(准确说是一个有序的字母),具体如下:
var options = [
{"A":"选项A XXXX"},
{"B":"选项B XXXX"},
{"C":"选项C XXXX"},
{"D":"选项D XXXX"},
]
第一眼感觉很简单,但是仔细看的话,就会发现与我们常见的创建一个对象,差别还是很大的。因为通常情况下我们创建的对象,key 是硬编码的,如下:
var person = {};
person.name = "江小白"; // 硬编码指定 key 为 name
再看我们的需求,每一个 item 对象是一个结构类似,但是 key 值并不完全一样的。key 为有序的字母组合。
要解决这个问题,就必须解决以下两个问题:
- item 对象 key 名的动态指定
- key 值的有序生成
key 名的动态指定:
解决每一个 item 对象 key 名,动态指定,两种方法:
- 使用 eval() 函数解决
eval()
函数会