1.反转字符串:编写一个函数,将输入的字符串反转输出。
下面是代码解析
function reverseString(str) {
return str.split('').reverse().join('');
}
console.log(reverseString('Hello World')); // 输出:dlroW olleH
可以使用split('')
方法将字符串转换为字符数组,然后使用reverse()
方法反转数组元素的顺序,最后使用join('')
方法将字符数组转换为字符串。
2.判断回文字符串 :编写一个函数,判断输入的字符串是否是回文字符串
代码解析
function isPalindrome(str) {
const reversedStr = str.split('').reverse().join('');
return str === reversedStr;
}
console.log(isPalindrome('level')); // 输出:true
console.log(isPalindrome('hello')); // 输出:false
可以使用与上题类似的方法,将字符串反转后与原字符串进行比较,如果相等则是回文字符串。
3.找最大值和最小值 :编写一个函数,接受一个数字数组作为参数,返回数组中的最大值和最小值。
代码解析
function findMinMax(arr) {
let min = arr[0];
let 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 };
}
console.log(findMinMax([1, 2, 3, 4, 5])); // 输出:{ min: 1, max: 5 }
使用两个变量min
和max
来保存当前的最小值和最大值,然后遍历数组,如果当前元素比min
小,则更新min
,如果当前元素比max
大,则更新max
。
4.斐波那契数列 :编写一个函数,接受一个数字n
作为参数,返回斐波那契数列的第n
个数字。
代码解析
function fibonacci(n) {
if (n <= 1) {
return n;
}
let a = 0;
let b = 1;
let result;
for (let i = 2; i <= n; i++) {
result = a + b;
a = b;
b = result;
}
return result;
}
console.log(fibonacci(6)); // 输出:8
斐波那契数列是一个数列,每个数字都是前两个数字之和。我们使用两个变量a
和b
来保存前两个数字,然后通过循环计算下一个数字,最后返回第n
个数字。
5.判断素数 :编写一个函数,判断输入的数字是否是素数(只能被1和自身整除)
代码解析
function isPrime(num) {
if (num <= 1) {
return false;
}
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
console.log(isPrime(17)); // 输出:true
console.log(isPrime(10)); // 输出:false
从2开始遍历到数字的平方根,如果存在能整除的数,则该数字不是素数;否则,该数字是素数