对象如何变成数组?
Posted
技术标签:
【中文标题】对象如何变成数组?【英文标题】:How do objects turn into arrays? 【发布时间】:2018-04-25 21:00:56 【问题描述】:例子:
obj="name":"111","age":"1111"
成为
["name":"111","age":"111"]
你是怎么做到的?我不知道该怎么办
【问题讨论】:
您的数组使用冒号无效。 嗯...您将“”更改为“[]”? 后者语法不正确,在 javascript 中根本不起作用 如果你想要一个包含对象的数组,只需使用[].concat(obj)
。
是的,变成[],你不能
【参考方案1】:
**Array 是有序数据结构(Object 之一)!如果您将数组添加到此示例中的属性键,则 array.length 变为 0(丢失的索引值)。所以不要在数组中使用属性键!使用数组构建有序的数据结构**
var obj = "name":"111","age":"1111";
var arr = [];
for(var prop in obj)
arr[prop] = obj[prop];
;
now arr becomes => [name: "111", age: "1111"];
【讨论】:
【参考方案2】:虽然,我只会使用对象语法,但您可能希望看到这个:
var what = [];
what['really'] = "That's crazy!";
what['yes'] = 'Awesome';
what['number'] = 10;
console.log(what instanceof Array);
for(var i in what)
console.log(i+' =', what[i]);
我在我买的一本书中看到了这样疯狂的代码。请注意,长度属性不是使用此语法自动定义的,因此是 for in 循环。它看起来,不像普通的对象,像索引顺序被保留了。
【讨论】:
以上是关于对象如何变成数组?的主要内容,如果未能解决你的问题,请参考以下文章