• jenishrabadiya 9 years ago + 3 comments

    Below code worked fine where I declared for loop variable with the keyword var.

    for(var str of my_array){
        if(str == str.split('').reverse().join('')){
            console.log(str);
        }
    }
    

    but when I use let keyword it does not work

     for(let str of my_array){
        if(str == str.split('').reverse().join('')){
            console.log(str);
        }
    }
    

    What is the reason?

    Add Reply Preview cancel

    Sorry, you do not have a permission to answer to this question.

    • monzee 9 years ago + 2 comments

      'use strict'; is needed at the start of the enclosing block, but we don't have control over that since the code we submit is pasted in the middle of the actual script being executed by the server. Need to wrap it in a function, declare strict then call the function. Which is too much work, so just use var.


      EDIT: I'm wrong, you can just add 'use strict'; at the top. Maybe the submission is being enclosed in a function.

      Add Reply Preview cancel

      Sorry, you do not have a permission to answer to this question.

      • [deleted] 9 years ago + 2 comments

        Try adding "use strict" at top of your second code.

        "use strict"
        for(let str of my_array){
            if(str === str.split('').reverse().join('')){
                console.log(str);
            }
        }
        

        You can learn more about "use strict" here

        Add Reply Preview cancel

        Sorry, you do not have a permission to answer to this question.

        • jenishrabadiya 9 years ago + 0 comments

          Thanks!

          Add Reply Preview cancel

          Sorry, you do not have a permission to answer to this question.

          • karuna24s 9 years ago + 1 comment

            When I click on the link mdn says not found. Do you recommend another resource?

            Add Reply Preview cancel

            Sorry, you do not have a permission to answer to this question.

            • matteo_chini 9 years ago + 1 comment

              Use this, there is a '.' at the end of the link ;) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode

              Add Reply Preview cancel

              Sorry, you do not have a permission to answer to this question.

              • karuna24s 9 years ago + 0 comments

                Thank you :)

                Add Reply Preview cancel

                Sorry, you do not have a permission to answer to this question.

          • jenishrabadiya 9 years ago + 0 comments

            thanks! that helped me understand correctly. :)

            Add Reply Preview cancel

            Sorry, you do not have a permission to answer to this question.

          • Odiumediae 9 years ago + 1 comment

            -- edited -- I removed my comment, to avoid confusion among newbies.

            Add Reply Preview cancel

            Sorry, you do not have a permission to answer to this question.

            • jenishrabadiya 9 years ago + 1 comment

              I wrapped it inside the function but it did not work. we need to write "use strict" in order to make it work.

              Add Reply Preview cancel

              Sorry, you do not have a permission to answer to this question.

              • Odiumediae 9 years ago + 0 comments

                +1 I'm sorry, you're right, I even did that myself. I've mixed that up with something else. Thanks to DOSHI.

                Add Reply Preview cancel

                Sorry, you do not have a permission to answer to this question.

            • avi2604 8 years ago + 0 comments

              because if you will use let then you cant change value of varible its work like final keyword from java

              Add Reply Preview cancel

              Sorry, you do not have a permission to answer to this question.

            1. Challenge Walkthrough
              Let's walk through this sample challenge and explore the features of the code editor.1 of 6
            2. Review the problem statement
              Each challenge has a problem statement that includes sample inputs and outputs. Some challenges include additional information to help you out.2 of 6
            3. Choose a language
              Select the language you wish to use to solve this challenge.3 of 6
            4. Enter your code
              Code your solution in our custom editor or code in your own environment and upload your solution as a file.4 of 6
            5. Test your code
              You can compile your code and test it for errors and accuracy before submitting.5 of 6
            6. Submit to see results
              When you're ready, submit your solution! Remember, you can go back and refine your code anytime.6 of 6
            1. Check your score