如何在javascript类中创建数组?

时间:2012-11-24 03:54:27

标签: javascript jquery html

最近我正在学习制作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') 但是错误,我需要一个正确的语法。

3 个答案:

答案 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的好评。关于它的私人方法。

JavaScript OOP Pitfalls

不知道这是否是您想要的,但应该有用。