我正在尝试在 javascript 中构建一个对象数组。不知何故,我在任何地方都找不到我正在寻找的答案。是的,我确实搜索了问题。
因此,传统对象显然具有以下属性:
item 是对象
item = new Object();
带有属性和方法
item.name = "sword"; // "sword" being the string name of the object
item.buy = buy; //buy being a function to add said item
那太好了,我明白了。
我也得到数组。
我的问题是,如果我想说 20 个这样的对象,我怎么能把它们放在一个数组中而不是制作很多对象
例如,我知道我可以做到这一点。
item1 = new Object();
item1.name = "sword";
item1.buy = buy;
item2 = new Object();
item2.name = "shield";
item2.buy = buy;
但是,我想做这样的事情
item = new Array();
item[0].name = "sword";
item[0].buy = buy;
item[1].name = "shield";
item[1].buy = buy;
也许这很明显,但我不明白这里有什么问题。
当我尝试打电话时
item[0].buy();
我遇到错误“Uncaught TypeError: Object 0 has no method 'buy'”并且 item[0].name 未定义。
我做错了什么,我该怎么做?