无法将字符串与数组进行比较
我尝试了不同的解决方案,无法找出为什么我无法将字符串与数组字符串进行比较。无法将字符串与数组进行比较
这是我曾尝试:
function checkWin(){
let emptyword =["h,","e,","l,","l","o"]
let computerword= "hello";
var a = emptyword.join("");
let b = computerword.toString();
let c = a.toString();
console.log("computerword :" + b);
console.log("emptyword is:" + c);
if(b === c) {
console.log("someone has won");
} else if (b != c) {
console.log("b is not same as c");
}
}
checkWin()
我不能去“有人曾荣获”作为控制台打印值超出然而,当条件是不正确的两个是相同的值,即hello
和hello
。
任何支持是最受欢迎的。
这是一个错字。您的阵列是元件
- 的列表中的 “H”
- 的 “e,”
- “L”
- “L”
- “○”
的前三个元素包含逗号作为字符串的一部分。
正确的代码是:
function checkWin() {
let emptyword = ["h", "e", "l", "l", "o"]
let computerword = "hello";
var a = emptyword.join("");
let b = computerword;
console.log("computerword: " + b);
console.log("emptyword is: " + a);
if (a === b) {
console.log("someone has won");
} else if (a !== b) {
console.log("b is not same as c");
}
}
checkWin()
变化
let emptyword = ["h,", "e,", "l,", "l", "o"]
到
let emptyword = ["h", "e", "l", "l", "o"]
修复它。
你的改变XXX行是错误的....看起来你是告诉OP,它是间距问题。 – epascarello
我的不好,我手工输入(出于某种原因),我想我的手指太聪明,我自己的好 –
var a = emptyword.join(“”); – Wazzie
我已经通过“Array.match()”解决了我的问题,基本上,如果它找不到匹配项,它将在找到匹配项时返回'null',它将显示匹配项。
这里是我解决我的这个难题
function checkWin(){
var a = emptyword.join("");
var b = computerword;
var c= b.match(a);
// for debug purpose only
console.log("match word so far...:"+ c);
if(c != null)
{
console.log("match win");
// clear the previous information
document.getElementById("correctguess").innerHTML =" ";
document.getElementById("correctguess").innerHTML ="You have Won well done";
}
// for debug purpose only
console.log("emptyword is:"+ a);
console.log("computerword is: "+ b);
}// end CheckWin
'让C = a.toString();'一已经是一个字符串这样的toString()也没有必要有 – epascarello
您的控制台线应弹出出来,并告诉你错误.... – epascarello
我同意你的感谢指出, – Wazzie