今天,给大家分享几道面试中常见的 Javascript 编程题。
1、题目:编写一个函数,判断一个字符串是否为回文
代码语言:javascript复制function isPalindrome(str) {
// 转换为小写并移除非字母字符
const cleanStr = str.toLowerCase().replace(/[^a-z]/g, '');
// 使用双指针法进行比较
let left = 0;
let right = cleanStr.length - 1;
while (left < right) {
if (cleanStr[left] !== cleanStr[right]) {
return false;
}
left ;
right--;
}
return true;
}
2、题目:编写一个函数,计算一个数字的阶乘
代码语言:javascript复制function factorial(n) {
if (n === 0 || n === 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
3、题目:编写一个函数,将一个二维数组转换为一维数组
代码语言:javascript复制function flattenArray(arr) {
let result = [];
for (let i = 0; i < arr.length; i ) {
if (Array.isArray(arr[i])) {
result = result.concat(flattenArray(arr[i]));
} else {
result.push(arr[i]);
}
}
return result;
}