计算两个数的和
- 题目:编写一个函数,接受两个参数并返回它们的和。
- 答案:
function addNumbers(a, b) { return a + b; } console.log(addNumbers(5, 3)); // 输出 8
判断一个数是否为偶数
- 题目:编写一个函数,判断一个数是否为偶数。
- 答案:
function isEven(num) { return num % 2 === 0; } console.log(isEven(4)); // 输出 true console.log(isEven(5)); // 输出 false
找出数组中的最大值
- 题目:编写一个函数,找出数组中的最大值。
- 答案:
function findMax(arr) { return Math.max(...arr); } console.log(findMax([1, 5, 3, 8, 2])); // 输出 8
反转字符串
- 题目:编写一个函数,反转一个字符串。
- 答案:
function reverseString(str) { return str.split('').reverse().join(''); } console.log(reverseString('hello')); // 输出 'olleh'
判断一个字符串是否为回文
- 题目:编写一个函数,判断一个字符串是否为回文(正读反读都一样)。
- 答案:
function isPalindrome(str) { return str === str.split('').reverse().join(''); } console.log(isPalindrome('level')); // 输出 true console.log(isPalindrome('hello')); // 输出 false
斐波那契数列
- 题目:编写一个函数,生成斐波那契数列的前n项。
- 答案:
function fibonacci(n) { if (n <= 1) return [0, 1][n]; let fibSeq = [0, 1]; for (let i = 2; i < n; i++) { fibSeq.push(fibSeq[i - 1] + fibSeq[i - 2]); } return fibSeq.slice(0, n); } console.log(fibonacci(10)); // 输出 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
数组去重
- 题目:编写一个函数,去除数组中的重复项。
- 答案:
function uniqueArray(arr) { return [...new Set(arr)]; } console.log(uniqueArray([1, 2, 2, 3, 4, 4, 5])); // 输出 [1, 2, 3, 4, 5]
数组排序(冒泡排序)
- 题目:使用冒泡排序算法对数组进行排序。
- 答案:
function bubbleSort(arr) { let len = arr.length; for (let i = 0; i < len - 1; i++) { for (let j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; } } } return arr; } console.log(bubbleSort([5, 3, 8, 4, 2])); // 输出 [2, 3, 4, 5, 8]
阶乘函数
- 题目:编写一个函数,计算一个数的阶乘。
- 答案:
function factorial(n) { if (n < 0) return "阶乘不适用于负数"; if (n === 0 || n === 1) return 1; let result = 1; for (let i = 2; i <= n; i++) { result *= i; } return result; }
检查数组中是否存在特定元素
- 题目:编写一个函数,检查一个数组中是否存在特定的元素。
- 答案:
function containsElement(arr, element) {
return arr.includes(element);
}
数组求和
- 题目:编写一个函数,计算数组中所有元素的总和。
- 答案:
function sumArray(arr) {
return arr.reduce((acc, val) => acc + val, 0);
}
字符串中的字符计数
- 题目:编写一个函数,计算一个字符串中某个字符出现的次数。
- 答案:
function countCharInString(str, charToCount) {
return str.split(charToCount).length - 1;
}
数组中的最大和最小元素
- 题目:编写一个函数,返回数组中的最大和最小元素。
- 答案:
function findMinMax(arr) {
if (arr.length === 0) return null;
let min = arr[0], max = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < min) min = arr[i];
if (arr[i] > max) max = arr[i];
}
return {
min, max };
}
判断一个数是否为质数
- 题目:编写一个函数,判断一个数是否为质数。
- 答案:
function isPrime(num) {
if (num <= 1) return false;
if (num <= 3) return true;
if (num % 2 === 0 || num % 3 === 0) return false;
for (let i = 5; i * i <= num; i += 6) {
if (num % i === 0 || num % (i + 2) === 0) return false;
}
return true;
}
数组扁平化(将多维数组转化为一维数组)
- 题目:编写一个函数,将多维数组转化为一维数组。
- 答案:
function flattenArray(arr) {
return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenArray(val)) : acc.concat(val), []);
}
您好,我是肥晨。
欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。