【发布时间】:2015-09-03 16:10:30
【问题描述】:
让我解释一下:
function PalindromeTwo(str) {
str = str.split('');
var arr = [];
str.forEach(function(it){
if( (/[a-z]/i).test(it) ){
arr.push(it);
}
})
var reverseArr = arr.reverse();
return reverseArr.join('').toUpperCase() === arr.join('').toUpperCase();
}
PalindromeTwo("hello, there");
在本例中,它在应该返回 false 时返回 true,因为 var reverseArr = arr.reverse() 行不仅反转了 reverseArr,而且反转了 arr,即原始变量。这是为什么呢?
【问题讨论】:
-
注意,您也可以使用
for循环以倒序遍历str数组,然后不必反转生成的arr。
标签: javascript variables variable-assignment reverse