簡體   English   中英

如何創建一個復雜的 Javascript object

[英]How to create a complex Javascript object

我是 JavaScript 和 Python 的新手,一般編程。

我想在一個JavaScript數據object中存儲一些常見英文音標的數據,大約有80個音標。 每個音標都有一個或多個可能的發音。 每個表音文字的發音都會有一個或多個單詞示例列表(例如,最多 30 個),其中將包括 IPA ph.netic 符號和外語翻譯。 例如,音標“ea”有三個發音,

(1) 'iːˈ, (2)ˈɛˈ & (3)ˈeɪˈ:

(1)'bead', 'feat', 'beat'... (2) 'bread', 'head', 'dead'... (3) 'break'...

是否有最適合這個的內置數據結構? 我正在考慮一個 class 來制作這些對象並將其存儲在數組或其他東西中。 我應該如何編寫用於填充數據對象的文本?

JavaScript 有四種基本的結構化數據類型:

  • 對象,具有屬性,具有鍵(名稱是字符串或符號)和值(任何類型)
  • arrays,它有元素,有索引和值(數組在技術上是對象,但現在忽略它)
  • Map ,它有條目,有鍵(任何類型)和值(任何類型)
  • Set ,它具有任何類型的唯一條目(可能對您正在做的事情沒有用)

聽起來您可能想要 object 或 Map,其中鍵是留聲機,值是對象。 在每個 object 中,您可能還有另一個 Map 或 object,其中的值是提供更多信息(示例和翻譯)的對象。

這是一個使用地圖的示例,您通過將 arrays 的數組傳遞到Map構造函數來初始化它:

const data = new Map([
    [
        "ea", 
        {
            pronunciations: new Map([
                [
                    "iː",
                    {
                        examples: ["bead", "feat"],
                        transations: [/*...*/]
                    }
                ]
            ]),
            otherInfo: /*...*/
        }
    ],
    // ...the other 79 entries...
]);

根據錄音制品獲取條目的數據:

const entry = data.get("ea");

entry object 將具有pronunciations屬性 Map 的發音和對象(帶有examplestranslations ),它們 map 到。

更多關於 MDN:

數組的 map 應該可以完成這項工作。 map 鍵可以包含標識符,而 map 值是一個數組,可以包含發音。

map 是一個 (key, value) 對,在您的情況下,值將是一個數組/[]。

暫無
暫無

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

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