JavaScript练习题第(四)部分

发布时间:2023年12月28日

?

?

大家好关于JavaScript基础知识点已经发布:需要的大家可以去我的主要查看

(当然了有任何不会的,可以私信我!!!!)

为了巩固大家学习知识点给大家准备几道练习题:

当然,以下是10道质量较高的JavaScript函数知识点练习题:

1. 编写一个函数,接收一个字符串参数,判断该字符串是否为回文字符串(正读和反读都相同)。

2. 编写一个函数,接收一个参数n,计算并返回斐波那契数列中第n个数字。

3. 编写一个函数,接收一个数组作为参数,返回数组中的最大值。

4. 编写一个函数,接收一个字符串参数,统计该字符串中每个字母出现的次数,并以对象形式返回。

5. 编写一个函数,接收两个参数,返回这两个参数的最大公约数。

6. 编写一个函数,接收一个数组作为参数,将数组中的元素去重,并返回新的数组。

7. 编写一个函数,接收一个正整数参数n,返回n的阶乘。

8. 编写一个函数,接收一个字符串参数,将字符串中的单词首字母大写,并返回结果字符串。

9. 编写一个函数,接收一个数组作为参数,返回数组中所有数字的平均值。

10. 编写一个函数,接收一个字符串参数,判断该字符串是否为有效的手机号码(满足特定的格式要求)。

这些练习题涵盖了字符串操作、数组操作、数学计算等常见的JavaScript函数知识点,希望对你有帮助!

?

当然,以下是10道质量较高的JavaScript函数知识点练习题,并带有详细注释:

  1. 编写一个函数,接收一个字符串参数,判断该字符串是否为回文字符串(正读和反读都相同)。
function isPalindrome(str) {
  // 将字符串反转
  const reverseStr = str.split('').reverse().join('');

  // 判断反转后的字符串是否与原字符串相同
  if (str === reverseStr) {
    return true;
  } else {
    return false;
  }
}

  1. 编写一个函数,接收一个参数n,计算并返回斐波那契数列中第n个数字。
function fibonacci(n) {
  // 定义初始的前两个斐波那契数
  let num1 = 0;
  let num2 = 1;
  let sum;

  // 计算斐波那契数列中的第n个数字
  for (let i = 2; i <= n; i++) {
    sum = num1 + num2;
    num1 = num2;
    num2 = sum;
  }

  return num2;
}

  1. 编写一个函数,接收一个数组作为参数,返回数组中的最大值。
function findMax(arr) {
  // 定义初始的最大值为数组的第一个元素
  let max = arr[0];

  // 遍历数组,找到最大值
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] > max) {
      max = arr[i];
    }
  }

  return max;
}

  1. 编写一个函数,接收一个字符串参数,统计该字符串中每个字母出现的次数,并以对象形式返回。
function countLetters(str) {
  // 创建一个空的对象用于存储字母及其对应的出现次数
  const count = {};

  // 遍历字符串,统计字母出现的次数
  for (let i = 0; i < str.length; i++) {
    const letter = str[i];
    if (count[letter]) {
      // 如果字母已经存在于对象中,则次数加1
      count[letter]++;
    } else {
      // 如果字母尚未存在于对象中,则添加该字母,并将次数设置为1
      count[letter] = 1;
    }
  }

  return count;
}

  1. 编写一个函数,接收两个参数,返回这两个参数的最大公约数。
function findGCD(a, b) {
  // 辗转相除法求最大公约数
  while (b !== 0) {
    const remainder = a % b;
    a = b;
    b = remainder;
  }

  return a;
}

  1. 编写一个函数,接收一个数组作为参数,将数组中的元素去重,并返回新的数组。
function removeDuplicates(arr) {
  // 使用Set数据结构去除重复元素,并通过展开运算符将Set转换为数组
  return [...new Set(arr)];
}

  1. 编写一个函数,接收一个正整数参数n,返回n的阶乘。
function factorial(n) {
  if (n === 0 || n === 1) {
    // 当n为0或1时,返回1
    return 1;
  }

  let result = 1;

  // 计算阶乘
  for (let i = 2; i <= n; i++) {
    result *= i;
  }

  return result;
}

  1. 编写一个函数,接收一个字符串参数,将字符串中的单词首字母大写,并返回结果字符串。
function capitalizeWords(str) {
  // 分割字符串为单词数组
  const words = str.split(' ');

  // 将每个单词的首字母大写,并将其余字母转换为小写
  const capitalizedWords = words.map(word => {
    return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
  });

  // 组合单词为字符串
  const result = capitalizedWords.join(' ');

  return result;
}

  1. 编写一个函数,接收一个数组作为参数,返回数组中所有数字的平均值。
function calculateAverage(arr) {
  // 使用reduce函数求和
  const sum = arr.reduce((acc, num) => acc + num, 0);

  // 计算平均值
  const average = sum / arr.length;

  return average;
}

  1. 编写一个函数,接收一个字符串参数,判断该字符串是否为有效的手机号码(满足特定的格式要求)。
function isValidPhoneNumber(phoneNumber) {
  // 使用正则表达式判断字符串是否满足手机号码格式要求
  const regex = /^\d{11}$/;
  return regex.test(phoneNumber);
}

希望这些解答能帮助到您!

文章来源:https://blog.csdn.net/weixin_70007095/article/details/135270271
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。