当你访问一个不存在的数组项,你得到的价值undefined
。您的代码尝试将属性添加到undefined
,这是您无法做到的(您会得到TypeError
)。
将对象添加到您的阵列,您可以添加对象,可能使用一个对象初始化:
var myArray = [];
myArray[0] = {
binary: 'qweqwe',
src: 'qweqwe'
};
myArray[1] = {
binary: 'zxczxc',
src: 'zxczxc'
};
myArray[2] = {
binary: 'asdasd',
src: 'asdasd'
};
console.log(myArray);
实际上,你可以结合那些与数组初始化:
var myArray = [
{
binary: 'qweqwe',
src: 'qweqwe'
},
{
binary: 'zxczxc',
src: 'zxczxc'
},
{
binary: 'asdasd',
src: 'asdasd'
}
];
console.log(myArray);
...这可能会更清晰,并且具有使它更容易重新排序的优点(例如,在源代码中,如果您需要将它们放入不同的初始顺序中)。或者你可以使用push
,以使其更容易重新排序:
var myArray = [];
myArray.push({
binary: 'qweqwe',
src: 'qweqwe'
});
myArray.push({
binary: 'zxczxc',
src: 'zxczxc'
});
myArray.push({
binary: 'asdasd',
src: 'asdasd'
});
console.log(myArray);
任何这些作品中,挑选一个最适合你在做什么。
为什么downvote?我需要帮助,请注意不要downvote没有... – 2015-03-02 08:33:52
在设置属性为对象之前,你应该创建空的对象像这样myArray [0] = {}; myArray [1] = {}; myArray [2] = {}; – 2015-03-02 08:33:53