Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的JavaScript if语句总是正确的?_Javascript - Fatal编程技术网

为什么我的JavaScript if语句总是正确的?

为什么我的JavaScript if语句总是正确的?,javascript,Javascript,在下面的代码中,为什么每个字符都与其他字符相等 编写一个JavaScript函数,将一个句子作为参数 确定该句子中的哪个单词具有最多的 重复字母(重复字母不必是连续的) 如果句子中有多个单词,且重复字母的最大值相同, 将它们全部返回到一个数组中 var repeatedLettersInAString=函数(){ var repeatedLetterCount=0; var wordsWithRepeatedLetters={}; var userString=prompt(“输入您的字符串”,

在下面的代码中,为什么每个字符都与其他字符相等

编写一个JavaScript函数,将一个句子作为参数 确定该句子中的哪个单词具有最多的 重复字母(重复字母不必是连续的)

如果句子中有多个单词,且重复字母的最大值相同, 将它们全部返回到一个数组中

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){