簡體   English   中英

在TypeScript中使用對象鍵入數組的定義

[英]Type definition for array with objects in TypeScript

如何在TypeScript中為這樣的數組定義類型:

export const AlternativeSpatialReferences: Array< ??? > = [
    {
        '25833': 25833
    },
    {
        '25832': 25832
    },
    {
        '25831': 25831
    },
    {
        'Google': 4326
    } 
];

現在我只使用Array <{}>,但想要正確定義。

如果要定義一個在編譯時不知道屬性名稱的對象以及哪些值是數字,則應使用“索引簽名”(Thanks @Joe Clay):

interface MyObject {
    [propName: string]: number;
}

然后你可以寫:

export const AlternativeSpatialReferences: MyObject[] = [
    {
        '25833': 25833
    },
    {
        '25832': 25832
    },
    {
        '25831': 25831
    },
    {
        'Google': 4326
    } 
];

在打字稿中你使用any類型,

任何用於 - 需要描述我們在編寫應用程序時不知道的變量類型。

 Array<any>

如果你想要一個強大的類型,你應該創建具有兩個屬性的新類

public class KeyValue
{
  key:string;
  value:number;
}

 let myarray: KeyValue[] = new Array<KeyValue>();
 myarray.push({key: '25833' , value : 25833});
 myarray.push({key: 'Google' , value : 123});

並以強類型轉換您當前的數組值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM