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(vuejs)