Chúng ta cần viết một hàm JavaScript nhận vào mảng các chữ số/chuỗi và trả về mảng con chứa tất cả các phần tử là palindrome trong mảng gốc.
Ví dụ:
Nếu mảng đầu vào là:
const arr = ['carecar', 1344, 12321, 'did', 'cannot'];
Thì đầu ra nên là:
const output = [12321, 'did'];
Chúng ta sẽ tạo hàm hỗ trợ kiểm tra một số hoặc chuỗi có phải palindrome không. Sau đó lặp qua mảng, lọc các phần tử palindrome và trả về mảng đã lọc.
Ví dụ
Dưới đây là đoạn code:
const arr = ['carecar', 1344, 12321, 'did', 'cannot'];
const isPalindrome = el => {
const str = String(el);
let i = 0;
let j = str.length - 1;
while(i < j) {
if(str[i] === str[j]) {
i++;
j--;
}
else {
return false;
}
}
return true;
};
const findPalindrome = arr => {
return arr.filter(el => isPalindrome(el));
};
console.log(findPalindrome(arr));Kết quả
Đoạn code sẽ in ra console:
[ 12321, 'did' ]