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开始遍历到数字的平方根,如果存在能整除的数,则该数字不是素数;否则,该数字是素数