jus*_*ame 1 javascript variables reverse variable-assignment
让我解释:
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");
Run Code Online (Sandbox Code Playgroud)
在这个例子中,它返回true它应该返回的false原因,因为该行不仅var reverseArr = arr.reverse()反转,reverseArr而且也arr就是原始变量.这是为什么?
是的,reverse将阵列反转到位.您可以在使用之前在反转之前创建副本slice.
var copy = arr.slice();
copy.reverse();
Run Code Online (Sandbox Code Playgroud)