JavaScript练习题第(四)部分

 

 

大家好关于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]) {// 如果字母已经存在于对象中,则次数加1count[letter]++;} else {// 如果字母尚未存在于对象中,则添加该字母,并将次数设置为1count[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时,返回1return 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.hqwc.cn/news/305192.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ChatGpt,Java,SpringBoot,Vue,Milvus向量数据库的定制化聊天Web demo

customized chat GitHub - bigcyy/customized-chatgpt: 基于ChatGpt&#xff0c;Java&#xff0c;SpringBoot&#xff0c;Vue&#xff0c;Milvus向量数据库的定制化聊天Web demo 简介 基于ChatGpt&#xff0c;Java&#xff0c;SpringBoot&#xff0c;Vue&#xff0c;Milvus向…

Grafana Loki 配置解析

Grafana Loki 配置文件是一个YML文件&#xff0c;在Grafana Loki 快速尝鲜的示例中是loki-config.yaml&#xff0c;该文件包含关于Loki 服务和各个组件的配置信息。由于配置数量实在太多&#xff0c;没法全部翻译&#xff0c;只能后期有需要了再补充。 如下是Grafana Loki 快速…

网络攻防中应该掌握的进阶工具udp2raw,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS

网络攻防中应该掌握的进阶工具udp2raw,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS。 udp2raw tunnel,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS,或在UDP不稳定的环境下提升稳定性。可以有效防止在使用kcptun或者finalspeed的…

k8s 网络

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

SpringBoot+ShardingSphereJDBC实战(读写分离,分库分表,垂直拆分、水平拆分)附源码

参考&#xff1a;https://www.51cto.com/article/747736.html https://blog.csdn.net/qq_41581588/article/details/126966665 源码地址&#xff1a;gitgitee.com:jackXUYY/springboot-example.git 读写分离测试 我们启用后缀名为dev的配置文件&#xff0c;如下&#xff0c;…

vue3-富文本编辑器(vue-quill)

官网&#xff1a;VueQuill | Rich Text Editor Component for Vue 3 安装 pnpm add vueup/vue-quilllatest 使用 局部使用 先导包 import { QuillEditor } from vueup/vue-quill import vueup/vue-quill/dist/vue-quill.snow.css; 再使用 <QuillEditor theme"snow…

记录使用minikube部署web程序,并灰度发布不同版本

1. 安装软件 1.1安装docker desktop 下载地址 重点&#xff1a;配置镜像加速 1.2 安装k8s&minikube 这里参考阿里社区的配置 minikube1.24.0版本下载地址 重点&#xff1a;安装版本问题【因为后面要用阿里云的服务来获取所需Docker镜像&#xff0c;一直不成功使用的高版…

听GPT 讲Rust源代码--src/tools(28)

File: rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 文件路径 rust/src/tools/clippy/clippy_lints/src/operators/identity_op.rs 中的作用是定义了 IdentityOp 类型的 Clippy lint 规则&#xff0c;用于检查代码中是否存在不必要的恒等操作符&#xff0…

庙算兵棋推演AI开发初探(2-编写策略(上))

开始研读step()函数的编写方法。 这个是图灵网提供了一些基础的ai代码下载&#xff08;浏览需要注册&#xff0c;下载需要审批&#xff09;。 AI开发中心-人机对抗智能 (ia.ac.cn)http://turingai.ia.ac.cn/ai_center/show 一、代码研读(BaseAgent类) 1.step函数 这段代码定…

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

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

深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第六节 理解垃圾回收GC,提搞程序性能

深入浅出图解C#堆与栈 C# Heaping VS Stacking 第六节 理解垃圾回收GC&#xff0c;提搞程序性能 [深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈](https://mp.csdn.net/mdeditor/101021023)[深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节 栈基…

java设计模式学习之【解释器模式】

文章目录 引言解释器模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用表达式解析示例代码地址 引言 在我们的日常生活中&#xff0c;语言的翻译和理解是沟通的关键。每种语言都有自己的语法规则&#xff0c;而翻译人员和计算机程序需要理解并遵循这些规则来…