最近我正在学习制作javascript课程,我看到其他人就这样上课了
var item = {
'a':{'b':1000,'c':2000,'d':3000} , //how to make a variable become an array?
myfunction : function(){
console.log(item.a.b); //and output item.a[1]?
}
};
item.myfunction();
但是可以将变量a
变成数组吗?并输出一个变量item.a[1]
?我试过
var a=new Array('1000','2000','3000')
但是错误,我需要一个正确的语法。
答案 0 :(得分:2)
var item = {
'a': [1000, 2000, 3000],
myfunction: function () {
console.log(this.a[1]);
}
};
但那不是一个阶级,也没有“变量”。
答案 1 :(得分:1)
'a':[1000,2000,3000]
console.log(item.a[0]); // 1000
console.log(item.a[2]); // 3000
了解详情:http://www.elated.com/articles/javascript-array-basics/
答案 2 :(得分:0)
根据您是否想要将“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的问题,得到了T.J的好评。关于它的私人方法。
不知道这是否是您想要的,但应该有用。