JavaScript练习题第(四)部分

news2025/1/18 16:53:26

 

 

大家好关于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);
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1340184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot项目Jar包加密:防止反编译的安全实践

文章目录 1. 引言2. 背景3. Jar包加密方案3.1 使用Java混淆工具3.2 使用Jar包加密工具3.2.1 示例&#xff1a;使用JCryptor对Jar包进行加密 4. 加密后的Jar包的运行5. 安全性与性能考虑5.1 安全性考虑5.2 性能考虑 6. 拓展功能与未来展望6.1 数字签名与验签6.2 使用加密算法库 …

gin框架使用系列之五——表单校验

系列目录 《gin框架使用系列之一——快速启动和url分组》《gin框架使用系列之二——uri占位符和占位符变量的获取》《gin框架使用系列之三——获取表单数据》《gin框架使用系列之四——json和protobuf的渲染》 一 、表单验证的基本理论 在第三篇中&#xff0c;我们介绍了如何…

3DV 2024 Oral | SlimmeRF:可动态压缩辐射场,实现模型大小和建模精度的灵活权衡

目前大多数NeRF模型要么通过使用大型模型来实现高精度&#xff0c;要么通过牺牲精度来节省内存资源。这使得任何单一模型的适用范围受到局限&#xff0c;因为高精度模型可能无法适应低内存设备&#xff0c;而内存高效模型可能无法满足高质量要求。为此&#xff0c;本文研究者提…

【奇技淫巧】OpenCV中Blob分析的两个关键技巧

Blob分析 BLOB是图像中灰度块的一种专业称呼&#xff0c;更加变通一点的可以说它跟我们前面二值图像分析的联通组件类似&#xff0c;通过特征提取实现常见的各种灰度BLOB对象组件检测与分离。使用该检测器的时候&#xff0c;可以根据需要输入不同参数&#xff0c;得到的结果跟…

微信聊天记录会被监控吗?

微信聊天记录是否会被监控是一个备受关注的话题。随着微信的普及和人们对隐私保护意识的提高&#xff0c;越来越多的人开始关注自己的微信聊天记录是否会被他人监控。 首先&#xff0c;我们先正面回答一下这个问题&#xff1a; 微信聊天记录是会被监控的&#xff01;但前提是你…

南京观海微电子--GIP Introduction

What is GIP&#xff1f; GIP&#xff08;Gate in panel&#xff09;&#xff1a;将IC Gate电路中的shift register circuit 移至 panel端。 提供控制信号给panel即可达到gate function Why use GIP&#xff1f; GIP技术就是把扫描芯片集成在显示面板上&#xff0c;达到节省…

关于“Python”的核心知识点整理大全45

目录 15.4.6 绘制直方图 die_visual.py 注意 15.4.7 同时掷两个骰子 dice_visual.py 15.4.8 同时掷两个面数不同的骰子 different_dice.py 15.5 小结 第 16 章 16.1 CSV 文件格式 16.1.1 分析 CSV 文件头 highs_lows.py 注意 16.1.2 打印文件头及其位置 highs_l…

k8s 网络

还没有部署网络。 k8s的网络类型&#xff1a; k8s中的通信模式&#xff1a; 1&#xff0c;pod内部之间容器和容器之间的通信。 在同一个pod中的容器共享资源和网络&#xff0c;使用同一个网络命名空间。可以直接通信的。 2&#xff0c;同一个node节点之内不同pod之间的通信。…

docker 搭建gitlab 恢复和备份

最近一直在折腾gitlab 代码管理系统 采用docker搭建 镜像网址 https://hub.docker.com/ 技术交流 http://idea.coderyj.com/ 1.因为我要恢复的版本是12.0.9的所有我就下载了docker-ce的12.0.9的镜像 1.下载镜像 docker pull gitlab/gitlab-ce:12.0.9-ce.02.安装 docker run …

VUE2入门教程

VUE2 1.vue环境搭建 1.1.什么是vue ​ vue是一套用于构建用户界面的渐进式JavaScript框架。中文官网&#xff1a;https://cn.vuejs.org/ 渐进式&#xff1a;vue可以自底向上逐层的应用。&#xff08;引入轻量的核心库逐渐递进到各种各样的复杂库&#xff09; ​ vue由当时…

uniapp发送formdata表单请求(全网最简单方法)

因为uniapp不支持直接传输formdata&#xff0c;只提供了uploadFile方法上传文件&#xff0c;但是利用该方法就可以传输formdata了。 第一种&#xff1a; 可以直接使用filePath属性进行空文件传输&#xff0c;只需要设置filePath为空就行了。 function $uploadForm(url, data…

Python(九十二)函数的参数定义-个数可变的位置参数和个数可变的关键字形参

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

骨传导耳机和开放式耳机的区别是什么?使用开放式耳机会损伤听力吗?

其实很多人对开放式耳机不了解&#xff0c;开放式耳机是指不用塞入耳道&#xff0c;开放双耳佩戴的耳机&#xff0c;而骨传导耳机也算开放式耳机的一种&#xff0c;在开放式耳机中&#xff0c;分为骨传导耳机和气传导耳机&#xff0c;想要知道开放式耳机是否会损伤听力&#xf…

《数据库开发实践》之存储过程【知识点罗列+例题演练】

一、什么是存储过程&#xff1f; 1.概念理解&#xff1a; 存储过程是一组为了完成特定功能的SQL语句集。通过组成SQL语句和控制语句&#xff0c;提供一种封装任务的方法。因此在创建编译好某个存储过程后&#xff0c;因为存储过程中有可执行操作的sql语句&#xff0c;用户可以…

会议室占用时间段 - 华为OD统一考试

OD统一考试 题解: Java / Python / C++ 题目描述 现有若干个会议,所有会议共享一个会议室,用数组表示各个会议的开始时间和结束时间, 格式为: [[会议1开始时间,会议1结束时间],[会议2开始时间,会议2结束时间]] 请计算会议室占用时间段。 输入描述 [[会议1开始时间,…

Deep Learning(wu--108-118)CNN详解(一)

文章目录 4 卷积神经网络计算机视觉CV边缘检测示例CNNPaddingStride三维卷积参数量计算单层卷积网络小结池化为什么使用卷积 4 卷积神经网络 计算机视觉CV 边缘检测示例 CNN Padding Stride 三维卷积 参数量计算 单层卷积网络小结 池化 为什么使用卷积 参数共享和稀疏计算

传感器基础:传感器使用与编程使用(三)

目录 常用传感器讲解九--雨滴传感器具体讲解电路连接代码实现 常用传感器讲解十--光传感器根据亮度安排灯具体讲解电路连接代码实现 常用传感器讲解七--light cup&#xff08;KY-008&#xff09;具体讲解电路连接代码实现 常用传感器讲解十二--倾斜开关传感器&#xff08;KY-02…

Qt学习:Qt的意义安装Qt

Qt 的简介 QT 是一个跨平台的 C图形用户界面应用程序框架。它为程序开发者提供图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正地组件编程。 支持平台 xP 、 Vista、Win7、win8、win2008、win10Windows . Unix/Linux: Ubuntu 等…

ERROR: No matching distribution found for torch==1.12.0+cu113

原因 pip install torch1.12.0cu113用pip安装torch时&#xff0c;出现&#xff1a; ERROR: No matching distribution found for torch1.12.0cu113好像不少用清华源的会出现这个问题 解决办法 pytorch官网&#xff1a;https://pytorch.org/get-started/previous-versions/ …

Flink1.17实战教程(第七篇:Flink SQL)

系列文章目录 Flink1.17实战教程&#xff08;第一篇&#xff1a;概念、部署、架构&#xff09; Flink1.17实战教程&#xff08;第二篇&#xff1a;DataStream API&#xff09; Flink1.17实战教程&#xff08;第三篇&#xff1a;时间和窗口&#xff09; Flink1.17实战教程&…