将值分配给从类中驱动的对象内的数组时出现问题

时间:2017-12-18 19:08:22

标签: arrays angular typescript

在我的角色项目中,我做了一个课程:

    export class Test {
      mcq: { question: string, options:string[]}[] = [];
    } //blueprint of an object having a question and an array of strings

在导入此类的其他组件中,我想从类test中驱动一个对象,我这样做了:

let exampleTest = new Test();
exampleTest.mcq = [{ question: 'any question?', options[0]: 'a', options[1]: 'b', options[2]: 'c', options[3]: 'd'}]

options[0]中的exampleTest.mcq部分出错。

我试图弄清楚我做错了一个小时。我也试过exampleTest.mcq.options[0] = 'a';仍然无法正常工作。

2 个答案:

答案 0 :(得分:2)

问题在于您在options对象中构建exampleTest.mcq数组的方式。您正在使用的当前方法如下所示:

{ options[0]: 'a', options[1]: 'b', options[2]: 'c' }

这是在对象中构造数组的错误语法。你真正想要的是

{ options: ['a', 'b', 'c'] }

上面的代码行会将一个字符串数组附加到键options,这似乎是您正在寻找的。

简而言之,请使用以下代码构建exampleTest.mcq

let exampleTest = new Test();
exampleTest.mcq = [{ question: 'any question?', options: ['a', 'b', 'c'] }];

答案 1 :(得分:0)

这不是你在对象中创建数组的方式,你必须做类似的事情:{ question: 'any question?', options: [ 'a', 'b', 'c', 'd' ] } - Curtsy:@Jeff Mercado