我的对象正在变成数组
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:""}]
最佳答案
您的 this.projects
将仍然是一个对象,并且它完全按照您的意愿行事。
那个[object Object]
并不意味着您的projects
变成一个数组,它是一个对象的字符串表示形式。尝试调用 String({})
,您将看到相同的效果。
关于javascript - 对象变成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36021667/