为什么可以't个数组与Javascript中的===进行比较
Why can't arrays be compared with === in Javascript?
为什么这段代码没有正确地将单词推送到答案数组?当我将循环更改为:时
for (var k in testDict) {
console.log(testDict[k].split("").sort());
}
它正确地打印了我所期望的,一个从单词中分割、排序的字符数组。所以我不知道为什么它没有评估为平等并推动回答。谢谢
function word_unscrambler(word, dict) {
var testDict = dict;
var answer = [];
var word_scrambled = word.split("").sort();
for (var k in testDict) {
if (word_scrambled === testDict[k].split("").sort())
answer.push(testDict[k]);
}
console.log(answer);
}
word_unscrambler("kevin", ["trees", "but", "ankle", "nevik", "knive", "evin"]);
问题是,您正在测试数组是否相等,因为您使用的是字符串,所以您可以将两个正在比较的数组连接起来:
function word_unscrambler(word, dict) {
var testDict = dict;
var answer = [];
var word_scrambled = word.split("").sort().join('');
for (var k in testDict) {
if (word_scrambled === testDict[k].split("").sort().join(''))
answer.push(testDict[k]);
}
console.log(answer);
}
您不能使用==有关更多信息和问题的解决方案,请参阅本页:如何检查两个数组是否与JavaScript相等?
不能直接比较数组是否相等,因为它只会比较它们的指针。您必须比较数组的内容。只要你不处理多维数组,这就足够了:
function word_unscrambler(word, dict) {
var testDict = dict;
var answer = [];
var word_scrambled = word.split("").sort();
for (var k in testDict) {
if (arrays_equal(word_scrambled, testDict[k].split("").sort()))
answer.push(testDict[k]);
}
console.log(answer);
}
function arrays_equal(arr1, arr2) {
for (var i in arr1) {
if (arr1[i]!==arr2[i])
return false;
}
return true;
}
word_unscrambler("kevin", ["trees", "but", "ankle", "nevik", "knive", "evin"]);
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- Node.js中的JavaScript原型对象效率
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将angularjs中的javascript字符串输出为循环数组
- 多次调用另一个javascript函数中的javascript函数
- for循环中的javascript if语句找不到==
- ascii输入键通过firefox中的javascript返回0
- Wordpress中的Javascript出现匿名函数/引用错误
- 从angularjs中的javascript更新dom
- for循环中的JavaScript闭包
- 如何通过documents.ready函数中的javascript自动按键(ctrl+shift+i)
- 访问嵌套函数结构中的JavaScript父函数变量
- 如何将值传递给wicket中的javascript函数
- 为什么可以't我将数据从c#发送到asp.net中的Javascript文件
- 如何将Bundle中的javascript文件包含到一个trick文件中
- 如何访问Web2py'中python代码中的JavaScript变量;s视图
- HTML文本框中的javascript数字
- 嵌入参数中的Javascript函数会自动运行
- Play 2.5 for Java中的Javascript路由