如何在EcmaScript中创建关联数组

时间:2016-11-21 16:35:19

标签: javascript ecmascript-6

我想在构造函数中创建一个关联数组。但是下面的代码会引发错误。未捕获的TypeError:无法设置未定义的属性'num'

class Validate{

    constructor(){

        this.name['num'] = ['one','two'];
    }
    display() {




        console.log(this.name['num']);
    }



}

2 个答案:

答案 0 :(得分:3)

Javascript没有关联数组,但可以使用Object literal作为替代。 在这里,您需要在使用之前定义对象。

class Validate{
    constructor(){
        this.name={}//define this.name
        this.name['num'] = ['one','two'];
    }
    display() {
        console.log(this.name['num']);
    }
}

答案 1 :(得分:0)

您将初始化名称,然后使用对象的属性。在这种情况下,名称未定义,您尝试设置undefined的属性。



class Validator
{
  
  constructor(){

        this.name = {num :['one','two']} ;
        
    }
    display() {


       

        console.log(this.name['num']);
    } 
}
 var validator = new Validator();
validator.display();