我创建一个哈希表来检查四个字母的单词是否有效:为什么我的散列表包含虚假值?
function myClickHandler(myClickHandler)
{
var words4=new Array("abed", "abet", "able", "ably", "abut", "aces", "ache", "achy");
// Initialise hash table
var wordhash = new Array();
for (var i in words4)
{
wordhash[ words4[i] ] = true;
};
var text = wordhash['10'];
}
然而,当我检查哈希表在调试器的第一个元素似乎是:
wordhash['10'] = true
所以我的测试函数中的最后一个语句将变量文本设置为true。这是为什么发生?
感谢
谢谢 - 在你的帮助下,我的程序正在运行;请参阅: http://www.plasticki.com/show?9EE。 我欢迎任何改进建议。 David – johnsondavies
@johnsondavies:你的代码确实很有趣。但是,我不会建议与'未定义'进行比较。看:'undefined = 1; var a;一个== undefined'会产生'false',因为undefined不是真的* undefined。相反,使用'typeof something =='undefined''。一些常见的做法是使用'==='而不是'=='和'[]'来代替'new Array()'。 – pimvdb