对象如何变成数组?

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 循环。它看起来,不像普通的对象,像索引顺序被保留了。

【讨论】:

以上是关于对象如何变成数组?的主要内容,如果未能解决你的问题,请参考以下文章

javascript 数组里面的对象变成了undefined

如何将带有数组的对象转换为数组

NodeJS 模块 - 填充数组变成空对象。为啥?

如何将数组转换为对象? [复制]

为啥我的 JSON 数组会变成一个对象?

数组遍历对象的item去掉某一个item对象变成null