JavaScript 中的迴文
迴文是一個單詞、數字、短語或其他可以前後閱讀的字元序列,例如 adida
或 racecar
。還有數字迴文,包括使用短數字的日期和時間戳。
例如,2011 年 11 月 11 日
被認為是迴文日 111111
,使用 dd-mm-yy
格式,因為它可以從左到右閱讀,反之亦然。句子長度迴文忽略標點符號、大寫字母和單詞邊界。
這篇文章教我們檢查字串/數字是否是 JavaScript 中的迴文。
在 JavaScript 中使用內建函式進行迴文運算
JavaScript 提供了幾個函式,我們可以使用它們來檢測字串是否為迴文。
- 首先,使用
string.split()
函式將字串轉換為陣列。
split()
方法是 JavaScript 提供的內建方法。此方法將字串拆分為子字串列表。
通過將分隔符作為輸入來執行此切割。
這個分隔符純粹是一個可選的輸入。並基於此,將所有這些子字串放入一個陣列中,並返回該陣列。
你還可以將 limit 作為輸入傳遞給該方法,從而限制陣列中子字串的數量。
- 其次,使用
reverse()
方法反轉陣列的值。
reverse()
方法是 JavaScript 提供的內建方法。此方法改為反轉原始陣列。
陣列的第一個元素成為陣列的最後一個元素,陣列的最後一個元素成為第一個元素。
- 最後,使用
join()
方法將陣列的值分組到字串中。
join()
方法是 JavaScript 提供的內建方法。此方法通過連線陣列(或類似陣列的物件)中的所有元素建立並返回一個新字串,由逗號或指定的分隔符字串分隔。
如果陣列只有一個元素,則返回該元素而不使用分隔符。
讓我們結合上述所有方法並檢查輸入字串是否為迴文。
function palindromeFn(inputString) {
return inputString == inputString.split('').reverse().join('');
}
console.log(palindromeFn('aviddiva'))
console.log(palindromeFn('Hello'))
如果我們在任何瀏覽器中執行上述程式碼,它將顯示以下結果。
輸出:
"true"
"false"
帶有 for
迴圈的 JavaScript 迴文
檢查字串是否為迴文的另一種方法是使用 for
迴圈。以下是在 JavaScript 中檢查字串是否為迴文的步驟。
-
首先,取一個包含要檢查的字串長度的臨時變數。
-
應用
for
迴圈並設定條件以檢查字串的一半長度。 -
將原始字串字元與反轉字串字元進行比較。
-
如果前後字元相同,則字串或數字為迴文。否則,指定的字串或數字不是迴文。
function palindromeFn(string) {
const stringLength = string.length;
for (let i = 0; i < stringLength / 2; i++) {
if (string[i] !== string[stringLength - 1 - i]) {
return 'It is not a palindrome.';
}
}
return 'It is a palindrome.';
}
console.log(palindromeFn('aviddiva'));
console.log(palindromeFn('Hello'));
如果我們在任何瀏覽器中執行上述程式碼,它將顯示以下結果。
輸出:
"It is a palindrome."
"It is not a palindrome."
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn