Javascript面试题:20道含答案和代码示例的练习题

news/2024/10/30 23:25:38/
  1. 请写出一个将字符串转换为数字的函数,例如将字符串“123”转换为数字123。
function stringToNumber(str) {return Number(str);
}
  1. 请写出一个将数字转换为字符串的函数,例如将数字123转换为字符串“123”。
function numberToString(num) {return num.toString();
}
  1. 请写出一个判断一个字符串是否为回文字符串的函数,例如字符串“racecar”是回文字符串。
function isPalindrome(str) {return str === str.split('').reverse().join('');
}
  1. 请写出一个查找数组中最大值的函数。
function findMax(arr) {return Math.max(...arr);
}
  1. 请写出一个查找数组中最小值的函数。
function findMin(arr) {return Math.min(...arr);
}
  1. 请写出一个将数组元素顺序颠倒的函数。
function reverseArray(arr) {return arr.reverse();
}
  1. 请写出一个计算数组中所有元素之和的函数。
function sumArray(arr) {return arr.reduce((a, b) => a + b, 0);
}
  1. 请写出一个将数组去重的函数。
function uniqueArray(arr) {return Array.from(new Set(arr));
}
  1. 请写出一个将字符串中的每个单词首字母变为大写的函数,例如将字符串“hello world”转换为“Hello World”。
function capitalizeWords(str) {return str.replace(/\\b\\w/g, l => l.toUpperCase());
}
  1. 请写出一个检查字符串中是否包含指定子字符串的函数。
function containsString(str, subStr) {return str.includes(subStr);
}
  1. 请写出一个将字符串中出现的所有大写字母转换为小写字母的函数。
function toLowerCase(str) {return str.replace(/[A-Z]/g, l => l.toLowerCase());
}
  1. 请写出一个将字符串中出现的所有小写字母转换为大写字母的函数。
function toUpperCase(str) {return str.replace(/[a-z]/g, l => l.toUpperCase());
}
  1. 请写出一个将字符串中每个单词的首字母变为大写字母,其他字母变为小写字母的函数,例如将字符串“HELLO WORLD”转换为“Hello World”。
function capitalizeFirstLetter(str) {return str.toLowerCase().replace(/\\b[a-z]/g, l => l.toUpperCase());
}
  1. 请写出一个将字符串中每个单词倒序排列的函数,例如将字符串“hello world”转换为“olleh dlrow”。
function reverseWords(str) {return str.split(' ').map(word => word.split('').reverse().join('')).join(' ');
}
  1. 请写出一个生成指定长度的随机字母数字字符串的函数。
function generateRandomString(length) {let result = '';const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';for (let i = 0; i < length; i++) {result += characters.charAt(Math.floor(Math.random() * characters.length));}return result;
}
  1. 请写出一个按照指定格式输出当前日期和时间的函数,例如输出“2021年12月31日 23:59:59”。
function getCurrentDateTime() {const date = new Date();const year = date.getFullYear();const month = String(date.getMonth() + 1).padStart(2, '0');const day = String(date.getDate()).padStart(2, '0');const hours = String(date.getHours()).padStart(2, '0');const minutes = String(date.getMinutes()).padStart(2, '0');const seconds = String(date.getSeconds()).padStart(2, '0');return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}
  1. 请写出一个计算给定两个日期之间相差的天数的函数。
function getDaysBetweenDates(date1, date2) {const oneDay = 24 * 60 * 60 * 1000;const diffDays = Math.round(Math.abs((date2 - date1) / oneDay));return diffDays;
}
  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;
}
  1. 请写出一个将给定数字转换为罗马数字的函数,例如将数字4转换为罗马数字“IV”。
function intToRoman(num) {const romanMap = {M: 1000,CM: 900,D: 500,CD: 400,C: 100,XC: 90,L: 50,XL: 40,X: 10,IX: 9,V: 5,IV: 4,I: 1,};let result = '';for (let key in romanMap) {while (num >= romanMap[key]) {result += key;num -= romanMap[key];}}return result;
}
  1. 请写出一个计算给定两个整数的最大公约数的函数。
function getGreatestCommonDivisor(num1, num2) {if (num2 === 0) {return num1;}return getGreatestCommonDivisor(num2, num1 % num2);
}
}

http://www.ppmy.cn/news/62815.html

相关文章

【ED合集】事件检测的文章

1 CorED: Incorporating Type-level and Instance-level Correlationsfor Fine-grained Event Detection 论文来源&#xff1a;SIGIR 2022(CCF A类会议) 论文链接&#xff1a;https://dl.acm.org/doi/pdf/10.1145/3477495.3531956 代码链接&#xff1a;GitHub - JiaweiSheng…

GPU理解

什么是GPU GPU(Graphics Processing Unit)代表图形处理单元。该术语通常与图形卡或视频卡等术语互换使用。从技术上讲&#xff0c;GPU 是第三方显卡或主板上的主要图形处理芯片。 GPU 与 CPU不同。CPU 是中央处理器&#xff0c;它是计算机的主要大脑。GPU 专用于执行在计算机…

基础语法——笔记一

一、基础语法 编码 源码文件以UTF-8编码&#xff0c;所有字符串都是Unicode字符串标识符 第一个字符必须是字母表中的字母或下划线_ 标识符的其他部分由字母、数字、下划线组成 标识符对大小写敏感python保留字&#xff08;关键字&#xff09; 不能用于任何标识符输出python标…

MVCC

相关数据库知识点回顾 1.1 什么是数据库事务&#xff0c;为什么要有事务 事务&#xff0c;由一个有限的数据库操作序列构成&#xff0c;这些操作要么全部执行,要么全部不执行&#xff0c;是一个不可分割的工作单位。 ​假如A转账给B 100 元&#xff0c;先从A的账户里扣除 100 元…

8个方法判断一个项目是否值得投资

01看准 投资就是投人&#xff0c;投资就是投团队&#xff0c;尤其要看准团队的领头人。 对目标企业团队成员的要求是&#xff1a;富有激情、和善诚信、专业敬业、善于学习。 02发掘 发掘---两大优势&#xff08;优势行业、优势企业&#xff09; 在优势行业中发掘、寻找优势…

yarn的安装以及使用

4.1 安装yarn 在npm的基础上写 npm i -g yarn ​ 查看是否成功&#xff1a; yarn -v#注 : 有的安装yarn成功之后 会发现yarn既不是内部命令也不是外部命令&#xff0c;解决办法 1. yarn global bin 得到一个yarn的安装地址 C:\Users\你自己的电脑\AppData\Local\Yarn\bin 2…

Web缓存利用分析(三)

导语&#xff1a;前一篇文章介绍了Server Cache Poisoning在实际应用场景下&#xff0c;产生DOS攻击的利用方式。本篇文章则介绍Web Cache Deception在真实场景下的应用方式和测试情况。 前言 前一篇文章介绍了Server Cache Poisoning在实际应用场景下&#xff0c;产生DOS攻击…

12-Vue技术栈之Vuex的使用

目录 1、理解 vue1.1 vuex 是什么1.2 什么时候使用 Vue1.3 图解两种方式实现数据共享 2、搭建vuex环境2.1 下载vuex2.2 配置文件 3、基本使用3.1 求和案例纯vue写法3.2 求和案例vuex写法 4、getters的使用5、四个map方法的使用5.1 求和案例 6、 模块化命名空间6.1求和案例改造 …