【发布时间】:2015-06-06 08:39:03
【问题描述】:
我正在尝试从树形的.txt 文件创建字典。在文本文件的每一行都有一个单词,我将所有这些单词提取到一个数组中。
现在关于树,每个节点都包含一个字母,如果它是单词的最后一个字母,它包含一个定义,并且每个节点都有一个数组 Children,其中包含所有其他单词的字母,以相同的方式开始。
所以我有这样定义的节点:
function Node(letter,definition,children) {
this.letter = letter,
this.definition = "",
this.children = []
};
我有一个包含所有节点的数组字典。每个节点都会被组织起来(这样我们就知道 'a' 在 Dictionary[0] 中,而 'b' 在 Dictionary[1] 中等等)。
我定义了一些函数来帮助构建字典:
-
检查 Dictionary 是否包含我们拥有的单词的第一个字母(c 是字符,dictio 是字典数组,ascii 是字符的 ascii-97 值)
function checkChar(c,dictio,ascii){ if(dictio[ascii].letter == c ){ return true; } return false; };-
用给定的字符创建一个节点
function createChar(c){ var noeud = { letter: c, def: '', children: [] }; return noeud; };
-
-
将字符添加到字典中
函数 addChar(c,dictio,ascii){ dictio.children[ascii] = createChar(c); };
我在最大的函数上遇到了麻烦:main 函数添加了单词并调用了我编写的所有这些小函数。我在制作时遇到了麻烦。
我什至不知道我在做什么是对还是错,如果有人能指出我正确的方向或建议一种在 javascript 或 php 中从 TXT 文件中做字典的方法,那就太好了。
【问题讨论】:
-
这是一个有趣的概念……你的目标是什么?
-
function Node(letter,definition,children) = {};--> 语法错误? -
@IsmaelMiguel 是的,抱歉,没有很好地复制,没有 = 符号和 Jason:只是一些工作来尝试学习和理解更多的树和 JS
-
您可以尝试使用
Objects 来实现它。您无需将函数分散在代码中,而是创建一个新的Object,它将具有所有必需的工作方法。所有内容都包含在一个实例中。 -
您能否提供更多信息,例如:您问题中的真实示例? “定义”的目的是什么?如果你能提供这些,我可以给你一个 PHP 实现。
标签: javascript php arrays