【问题标题】:Palindrome code looks fine but I can't get it to run回文代码看起来不错,但我无法让它运行
【发布时间】:2020-04-12 02:10:21
【问题描述】:

我正在做回文编码器挑战,我对编码非常陌生。我无法让它正常运行以挽救我的生命。我让某人看了一下,他们说应该没问题,但很明显,有些地方不对劲。我尝试了各种小改动,每次都在 VS 中更新,但似乎没有任何效果。

    $('#bntCrunch').on("click", function () {

        var str = $('input').val()
        function pal() {
            const reversed = str
                .split('')
                .reverse()
                .join('');

            return str === reversed;

            if (str == reversed) {
                document.getElementById('output').innerHTML(str);
            }

            else {
                document.getElementById('output').innerHTML("That is not a palindrome");
            }
        }
    })

</script>

无论我在哪里调用函数,VS 似乎都在说“pal 已被定义,但它的值从未被读取”。

【问题讨论】:

  • 你有一个函数pal() 需要被调用才能运行。您的代码没有调用/调用它,它只是创建/声明函数。在函数中使用return会停止函数执行,所以函数中return下面的代码不会被执行
  • 调用函数var str = $('input').val(); pal()

标签: javascript string visual-studio palindrome


【解决方案1】:

注意,如果您想不区分大小写,则必须在“===”测试的每一侧添加“.toLowerCase()”。

$( document ).ready(function() {
  $( "#button" ).on( "click", function() {
    $('#result').text($('#test').val()===$('#test').val().split('').reverse().join('')?"OK":"KO");
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="test" />
<input type="button" id="button" value="Test" />
<div id="result"></div>

【讨论】:

    【解决方案2】:

    你已经在 pal() 函数中返回了一个布尔值;这个返回 str === 反转;你不想在那里。

    另外,记得调用 pal()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      相关资源
      最近更新 更多