Typescript:如何访问数组对象的元素?

时间:2017-09-03 06:23:30

标签: arrays angular typescript

我为商店语言选项编写了一个数组。

public languageOptions:Array<Object> = [
    {
    name: 'English',
    value: 'en'
    },
    {
    name: 'France',
    value: "fr"
    }
];

我想将英语设为默认语言。我是按照以下方式做到的,

private static readonly DEFAULT_LANGUAGE: string = 'en';

但我想直接从对象数组中设置' en '值,

private static readonly DEFAULT_LANGUAGE: string = languageOptions[0].value;

但是当我写这篇文章时,它会出现以下错误

  

[ts]找不到名称'languageOptions'

有人可以帮我解决这个问题。请建议如何从数组对象访问'en'。谢谢。

2 个答案:

答案 0 :(得分:2)

您应该使用 this

export class App {
 languageOptions = [
    {
    name: 'English',
    value: 'en'
    },
    {
    name: 'France',
    value: "fr"
    }
];
 private readonly DEFAULT_LANGUAGE = this.languageOptions[0].value;
}

<强> DEMO

答案 1 :(得分:0)

您无法从静态成员初始化(对于languageOptions)访问实例成员(在您的情况下称为非静态,DEFAULT_LANGUAGE)。

另外,不要将数组键入为Array<object>,这样就不会让编译器进行推理并帮助您解决问题。只需使用:

public static languageOptions = [
    {
    name: 'English',
    value: 'en'
    },
    {
    name: 'France',
    value: "fr"
    }
];