1. 程式人生 > >每日一題JavaScript之迴文數

每日一題JavaScript之迴文數

// 編寫一個簡單函式(少於160字元),返回一個布林值,指示字串是否是palindrome(迴文)
// 方法A:
function isPalindrome(str){
	var len = str.length;
	for (var i=0;i<(len/2);i++){
		if(str[i] != str[len-1-i]){
			return false;
		}
	}
	return true;
}
console.log(isPalindrome("qqwQwqq"));
// 方法B:
function isPalindrome(str) {
  	str = str.replace(/\W/g, '').toLowerCase();//把字串處理為只有字母
  	return (str == str.split('').reverse().join(''));
}
// JavaScript正則語法:/正則表示式主體/修飾符(可選)
// g是正則表示式修飾符,表示全域性匹配。
// \w	查詢單詞字元。
// \W	查詢非單詞字元。
// replace(/\W/g, '')表示用\W匹配每一個非單詞字元,並用''替換,即去除非字母字元
// str.split(separator,howmany) 方法用於把一個字串分割成字串陣列
// separator:是字串或正則表示式,從指定的地方分割str,必填
// howmany:指定返回的長度,選填
// reverse() 方法用於顛倒陣列中元素的順序。該方法會改變原來的陣列,而不會建立新的陣列。
// arr.join(separator)把陣列中的所有元素放入一個字串,引數選填,通過指定的分隔符進行分隔的,不指定separator為逗號