【发布时间】:2015-05-30 01:59:06
【问题描述】:
请参考fiddlejs文件对象obj1。 (我开始使用这种格式的对象,因为它代表了当 PHP 回显一个有序的键值 PHP 数组时我从 Ajax 得到的结果)。
var obj1 = {
"key1": "val1",
"key2": "val2",
"key3": "val3"
};
box1.innerText = "Object: " + JSON.stringify(obj1);
var arr1 = [];
for( keystr in obj1 ) {
box2.innerText = keystr;
valstr = obj1[keystr];
arr1.push({keystr : valstr});
}
box3.innerText = "Array: " + JSON.stringify(arr1);
对于那些问我为什么要这样做的人:因为我想看看我是否可以保留顺序(我听说 js 对象没有排序?)并且因为它恰好是函数所需的格式参数我将数据传递给下一个。
正如您所看到的,标识符(即“keystr”)被用于键,而不是字符串本身(即“key1”、“key2”、“key3”)。
这里推荐什么方法?谢谢!
【问题讨论】:
-
从es6开始可以写
arr1.push({[keystr] : valstr})。
标签: javascript arrays object key