繁体   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