您有两种方法,具体取决于您是将“a”转换为数组还是只想将“a”转换为数组。
第一种方法是通过函数运行它
function toArray(object) {
var array = new array();
for (key in object) {
if (object.hasOwnProperty(key)) {
array.push(object); // This is alternative for indexed array
array[key] = object; // This is for an associative array
}
}
return array;
}
也许让你的“类”调用这个函数并将返回值分配给“a”
var item = {
'a':{'b':1000,'c':2000,'d':3000} , //how to make a variable become an array?
myfunction : function(){
this.a = toArray(this.a);
console.log(this.a[1]) // If you do indexed
console.log(this.a.b); // If you do associative
}
};
item.myfunction();
@ahren 解释了第二种方法,它只是通过 [...] 值而不是 {...} 将“a”定义为数组
你也可以查看我自己提出的关于 JavaScript 中 OOP 的问题,从 TJ 那里得到了关于私有方法的很好的回复。
JavaScript OOP 陷阱
不知道这是否是您想要的,但应该可以。