Javascript将对象推入数组

Posted

技术标签:

【中文标题】Javascript将对象推入数组【英文标题】:Javascript pushing object into array 【发布时间】:2011-02-13 07:59:15 【问题描述】:

嘿,我目前在尝试使其正常工作时遇到了麻烦。这是我正在尝试的示例代码。已经取出了很多,但这应该仍然包含问题。我有一个对象,用户和一个数组,播放器。我正在尝试与其中的玩家一起制作一个数组,在这里:

function user(name, level, job, apparel)

 this.name = name;
 this.state = "alive";
 this.level = level;
 this.job = job;
 this.apparel = apparel;


player = new array();
player.push(new user("Main Player", 1, 1, "naked"));
document.write(player[0].name);

但它不起作用,没有任何回应。我做错了什么?

【问题讨论】:

正如所有答案所指出的,您写的是Array 而不是array。你也可以使用player = []; 还有,这很重要,你的用户函数是一个对象定义,所以它应该被称为用户而不是用户(这当然不是问题)。 【参考方案1】:

您的代码中有错字。

改变

player = new array();

player = new Array();

【讨论】:

更好:使用数组文字(更快):var player = [];【参考方案2】:

我愿意

player = [];

而不是

player = new array();

作为健全性检查,尝试这样做:

document.write("Name: " + player[0].name);

【讨论】:

player[] = new user("TehMeanie", 1, 1, "naked");为什么那行不通? 不是这样的。 player = []; player.push(new user("TehMeanie", 1, 1, "naked")); player[0] = new user("TehMeanie", 1, 1, "naked");虽然会工作【参考方案3】:

好吧,你有一个错误。不是array,而是Array

【讨论】:

javascript 区分大小写:wiki.answers.com/Q/Is_javascript_case_sensitive【参考方案4】:

我试过这个并且成功了:

player = [];

代替:

player = new Array();

【讨论】:

player = [] 未初始化空数组。它正在初始化一个包含 1 个项目的数组,这是一个空对象。它们不一样。

以上是关于Javascript将对象推入数组的主要内容,如果未能解决你的问题,请参考以下文章

将对象推入数组中,而无需在 javascript 中使用键

如何将父对象迭代到子对象并推入数组javascript(vuejs)

JavaScript对象推入数组[重复]

javascript 对象被推入数组作为参考

如何将一个数组推入另一个数组元素中作为 JavaScript 中的新属性? [复制]

如何将对象数组推入数组