为什么我的JavaScript if语句总是正确的?
在下面的代码中,为什么每个字符都与其他字符相等 编写一个JavaScript函数,将一个句子作为参数 确定该句子中的哪个单词具有最多的 重复字母(重复字母不必是连续的) 如果句子中有多个单词,且重复字母的最大值相同, 将它们全部返回到一个数组中为什么我的JavaScript if语句总是正确的?,javascript,Javascript,在下面的代码中,为什么每个字符都与其他字符相等 编写一个JavaScript函数,将一个句子作为参数 确定该句子中的哪个单词具有最多的 重复字母(重复字母不必是连续的) 如果句子中有多个单词,且重复字母的最大值相同, 将它们全部返回到一个数组中 var repeatedLettersInAString=函数(){ var repeatedLetterCount=0; var wordsWithRepeatedLetters={}; var userString=prompt(“输入您的字符串”,
var repeatedLettersInAString=函数(){
var repeatedLetterCount=0;
var wordsWithRepeatedLetters={};
var userString=prompt(“输入您的字符串”,“它将转到此处!”).split(“”);
/*var i选择数组元素,var x将是
将与var n进行比较的字符*/
log(userString);
for(var i=0;i
让我们看看您的代码中吸引我眼球的一行:
if (userString[i].charAt(x) === userString[i].charAt(n), x!==n){
注意这里有一些不同寻常的东西:表达式中间的逗号。根据,以下是逗号运算符的工作原理:
逗号运算符计算每个操作数(从左到右)并返回最后一个操作数的值
这里的重要位是“返回最后一个操作数的值”。也就是说,除非
x
和n
相等,否则if语句始终为真,这似乎不是您想要的行为。我想你真正想要的是两个表达式都是真的。如果是这种情况,则需要使用&&
运算符(JavaScript逻辑“and”运算符)代替逗号 if
语句中的逗号应该是逻辑的,并且&&
@jcubic,这有什么关系?这不是一个“家庭作业转储”类型的请求,OP已经生成了大部分工作代码,并且正在就他们所坚持的内容提出一个明确、具体的问题。
if (userString[i].charAt(x) === userString[i].charAt(n), x!==n){