Javascript无法正确比较两个字符串
Javascript Failing to Correctly Compare Two Strings
我首先创建一个字符列表,并将其中两个保存为依赖于用户输入的字符串。我不确定问题所在,所以我复制了完整的代码在这里https://jsfiddle.net/mboguslaw97/6w6xj1f3/3/。左上角的卡片和下面的卡片都是L。点击这些卡片后的另一张卡片来激活警报语句。
var letters = 'ABCDEFGHIJKL'.repeat(2).split('');
user_input = 11;
cards_flipped.push(user_input);
user_input = 23;
cards_flipped.push(user_input);
letter1 = letters[cards_flipped[0]];
letter2 = letters[cards_flipped[1]];
alert(letter1 == 'L');
alert(letter2 == 'L');
alert(letter1 == letter2)
//Alerts true, true, false
谁能给我解释一下如何检测字符串是否相等,为什么字符串不能用这种方式比较?
console.log(typeof letter1, letter1 instanceof Array);
object true
letter1和letter2都是单值数组。它们中的任何一个"等于"字母"L"的唯一原因是类型转换:当与字符串文字进行比较时,正在对数组调用toString()方法。如果比较letter1.toString() == letter2.toString()
和letter1[0] == letter2[0]
,它们是相等的。我更新了小提琴
欢呼。
相关文章:
- jsf中两个字符串的颜色代码差异
- 可以't在JavaScript中比较两个字符串
- jQuery在两个字符串标识符之间选择HTML
- 为什么脚本标记被分解为两个字符串
- 比较Javascript中的两个字符串时出错
- 如何检查两个字符串是否具有相同的字符,包括特殊字符
- Javascript正则表达式来比较两个字符串
- 使用Javascript获取两个字符串之间的字符串数组
- 如何比较两个字符串并删除jquery中的元素
- 如何在 javascript 中使用正则表达式在其他两个字符串之间找到一个字符串
- 删除两个字符串正则表达式之间的所有内容
- Javascript Regex匹配两个字符串之间的子字符串,但子字符串可以包含DOT(.)
- 在jQuery或JavaScript中获取两个字符串之间的文本
- 为什么不是'当试图使用Ajax和外部PHP文件发布内容时,我的表单工作不正常,该文件接收两个字符串
- 比较javascript/jquery中的两个字符串
- 如何在javascript中无空格地追加两个字符串
- 函数,返回javascript中两个字符串数组的差值
- 在javascript中组合使用连字符连接的两个字符串
- 如何在anular.js视图中比较两个字符串
- 替换两个字符串之间的多行文本