有人可以解释这个for循环中发生了什么吗?

时间:2015-07-26 16:49:56

标签: javascript arrays for-loop palindrome

另外,请包含一个跟踪表,显示每个位置的每个变量的值。谢谢。当它返回true时,它表示该数组是回文。当它返回false时,它表示该数组不是回文。代码有效,但我只需要解释它为什么或如何工作。

var x = readNumberOfEntries();
                var w = new Array(x);
                for (var y = 0; y < x; y++) {
                    var z = Number(prompt("Enter entry"));
                    w[y] = z;

                }
                var r = w.length;
                for (var i = 0; i < (r/2); i++) {
                    if (w[i] !== w [r-1-i]) {
                        return false;
                    }
                    return true;
                }
            }

1 个答案:

答案 0 :(得分:1)

首先for-loop使用用户输入的值填充长度为x的数组。

对此类数组进行第二次for循环检查[1,2,3,3,2,1]。 因此它检查下半部分阵列是否逆转。

虽然因为返回,for循环将在首次运行时被取消。

因此,如果数组的第一个条目等于最后一个,则返回true,否则返回false。