Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng các ký tự Chuỗi / Số và trả về một mảng con của tất cả các phần tử là palindrome trong mảng ban đầu.
Ví dụ -
Nếu mảng đầu vào là -
const arr = ['carecar', 1344, 12321, 'did', 'cannot'];
Sau đó, đầu ra phải là -
const output = [12321, 'did'];
Chúng tôi sẽ tạo một hàm trợ giúp nhận vào một số hoặc một chuỗi và kiểm tra xem đó có phải là boolean hay không. Sau đó, chúng tôi sẽ lặp qua mảng, lọc các phần tử palindrome và trả về mảng đã lọc
Ví dụ
Sau đây là mã -
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));
Đầu ra
Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -
[ 12321, 'did' ]