我的对象变成了一个数组
this.projects = {};
var outerThis = this;
for(var i=0; i<10; i++){
console.log(this.projects); // at this point projects is Object {}
if(!(i in Object.keys(this.projects))){
this.projects[i] = {title:"", trackOneUrl:"", trackTwoUrl:""};
console.log(this.projects); // now its [object object]
return;
}
}
当我这样做时:
this.projects[i] = {title:"", trackOneUrl:"", trackTwoUrl:""}
projects
从对象变为数组。
我想要实现的是
{'1':{title:"", trackOneUrl:"", trackTwoUrl:""}}
而不是
[{title:"", trackOneUrl:"", trackTwoUrl:""}]
答案 0 :(得分:1)
您的this.projects
仍然是一个对象,它完全符合您的要求。
[object Object]
并不代表您的projects
成为一个数组,它是一个对象的字符串表示。尝试拨打String({})
,您会看到相同的效果。
答案 1 :(得分:0)
this.projects就是所谓的对象文字。 1.3.5
使用{}
从那里你可以使用一个简单的for循环为数组中的每个索引分配一个对象。
答案 2 :(得分:0)
如果你拿回来,你所拥有的将会正常工作。