![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaScript算法题
今天会下雨吗
多动脑思考吧
展开
-
输入一组以空格分隔的数字,把数字中偶数的二进制反转,再输出为二进制,最后得到一组新的数字
let readline = '1 6 5'let lines = readline.split(' ');let arr = [];for(let i = 0; i < lines.length; i++){ let a = parseInt(lines[i]); if(a%2 == 0){ let binary = a.toString(2); let str = binary.split(''); let res = ''; for(原创 2022-05-13 05:51:19 · 209 阅读 · 0 评论 -
根据日期获取某日是当年的第几天
let date = new Date('2020-4-2');let day = date.getDate();let month = date.getMonth();let monthnums = 0;let a = date.getUTCFullYear()let year = date.getFullYear();switch(month){ case 12: monthnums += 31; case 11: monthnums += 3原创 2022-05-13 05:13:37 · 256 阅读 · 0 评论 -
牛客JavaScript算法题 - 在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
题目描述在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组解决办法1. splice()splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。语法arrayObject.splice(index,howmany,item1,.....,itemX)参数描述index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。howmany必需。要删除的项目数量。如果设置为 0,则不会删除项原创 2021-04-18 15:02:08 · 453 阅读 · 0 评论 -
牛客JavaScript算法题 - 实现 fizzBuzz函数,参数num与返回值的关系
题目描述实现 fizzBuzz函数,参数 num 与返回值的关系如下:1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz2、如果 num 能被 3 整除,返回字符串 fizz3、如果 num 能被 5 整除,返回字符串 buzz4、如果参数为空或者不是 Number 类型,返回false5、其余情况,返回参数 num解决办法1. 运用isNan()方法isNaN()函数用于检查其参数是否是非数字值。语法isNaN(x)参数描述x必需。要原创 2021-04-18 14:58:48 · 1262 阅读 · 0 评论 -
牛客JavaScript算法题 - 找出数组 arr 中重复出现过的元素
题目:找出数组 arr 中重复出现过的元素解决办法1. 使用 `indexOf` 和 `lastindexOf`indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置stringObject.indexOf(searchvalue,fromindex)参数描述searchvalue必需。规定需检索的字符串值。fromindex可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如原创 2021-04-18 14:37:09 · 615 阅读 · 0 评论 -
牛客JavaScript算法题-判断 val1 和 val2 是否完全等同
题目:判断 val1 和 val2 是否完全等同解决方法===function identity(val1, val2) { return val1 === val2;}说明'=='和'==='的区别=====等同恒等不做类型转换,类型不同的一定不等两边值类型不同的时候,要先进行类型转换,再比较如果两个值类型相同,进行 === 比较如果类型不同,就[不相等]如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:如果两个都原创 2020-12-04 16:48:41 · 169 阅读 · 0 评论 -
牛客JavaScript算法题-为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组
题目描述:为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组解决方法1. 遍历数组直接赋值function square(arr) { var arr_new = []; for(var i = 0;i < arr.length;i++){ arr_new[i] = arr[i]*arr[i]; } return arr_new; //1,4,9,16}var arr = [1, 2, 3, 4];docum原创 2020-12-03 10:46:33 · 549 阅读 · 0 评论 -
牛客JavaScript算法题 - 在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
题目: 在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组解决办法1. slice() + unshift()unshift()方法(在开头)向数组添加新元素,并“反向位移”旧元素(添加元素成功后arr_new[0] = 1变为arr_new[0]=10,以此类推)function prepend(arr, item) { var arr_new = arr.slice(0); arr_new.unshift(item); return原创 2020-11-30 10:49:36 · 246 阅读 · 0 评论 -
牛客JavaScript算法题 - 删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
题目: 删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组解决办法1. slice() + pop()slice() 方法用数组的某个片段切出新数组。本例从数组元素 0 开始切出一段数组。它不会从源数组中删除任何元素。pop()方法从数组中删除最后一个元素。function truncate(arr) { var arr1 = arr.slice(0); arr1.pop(); return arr1; //[1, 2, 3]}arr = [原创 2020-11-30 10:10:51 · 629 阅读 · 0 评论 -
牛客JavaScript算法题-移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
题目描述: 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回解决办法1. splice()splice会改变arr数组的长度,arr.length改变;每移除一个元素,后面的就会前移,例如:移除第一个arr[1]=2后,arr数组变为[1, 2, 3, 4, 2, 2],原来的arr[2]=2就会变成arr[1]=2function removeWithoutCopy(arr, item) { for(var i = 0; i &l原创 2020-11-29 21:27:26 · 523 阅读 · 0 评论 -
牛客JavaScript算法题-移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
题目描述: 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回解决方法1. 直接赋值如果不定义index,直接写arr1[i] = arr[i];,打印出来的arr长度为4,但实际长度应该为3。打印出arr1[2] = undefine,这是由于在for循环里i会一直被赋值为0,1,2,3,但是只有0,2,3会进入if里,arr[1] = 2由于被移除没有进入if中,所以只有arr1[0]、arr1[2]、arr[3]被赋值了。所以要重新给原创 2020-11-29 17:33:02 · 313 阅读 · 1 评论