在我的角色项目中,我做了一个课程:
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';
仍然无法正常工作。
答案 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