当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《为什么我的JavaScriptif语句总是正确的?》经验,为你挑选了1个好方法。

在下面的代码中,为什么每个字符看起来都等于其他每个字符?

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

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

var repeatedLettersInAString = function(){
    var repeatedLetterCount = 0;
    var wordsWithRepeatedLetters = {};
    var userString = prompt("enter your string", "it will go here!").split(' ');

    /* var i selects the array element, var x will be the
    character to which var n will be compared. */

    console.log(userString);

    for(var i = 0; i < userString.length; i++){
        console.log(userString[i] + " userString");
        for (var x = 0; x < userString[i].length; x++){
            for (var n = 0; n < userString[i].length; n++){

                if (userString[i].charAt(x) === userString[i].charAt(n), x!==n){
                    repeatedLetterCount++;
                    wordsWithRepeatedLetters[i] = userString[i];
                    console.log(wordsWithRepeatedLetters);
                }else{
                    console.log("There are no repeating characters");
                }
            }
        }
    }

    console.log(repeatedLetterCount);
    console.log(wordsWithRepeatedLetters);
};
repeatedLettersInAString();

Sam Hanley.. 5

让我们看一下引起我注意的代码中的一个特定行:

if (userString[i].charAt(x) === userString[i].charAt(n), x!==n){

注意这里不寻常的东西:表达式中间的逗号.根据MDN,以下是逗号运算符的工作原理:

逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值.

这里重要的一点是"返回最后一个操作数的值".也就是说,if语句总是为真,除非x并且n相等,这似乎不是你想要的行为.我认为你实际上的目标是两个表达式都是真的.如果是这种情况,则需要使用&&运算符(JavaScript逻辑"和"运算符)代替逗号.



1> Sam Hanley..:

让我们看一下引起我注意的代码中的一个特定行:

if (userString[i].charAt(x) === userString[i].charAt(n), x!==n){

注意这里不寻常的东西:表达式中间的逗号.根据MDN,以下是逗号运算符的工作原理:

逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值.

这里重要的一点是"返回最后一个操作数的值".也就是说,if语句总是为真,除非x并且n相等,这似乎不是你想要的行为.我认为你实际上的目标是两个表达式都是真的.如果是这种情况,则需要使用&&运算符(JavaScript逻辑"和"运算符)代替逗号.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有