code war的实例教程
程序员文章站
2022-03-21 09:08:57
...
今天又接着来继续做一道有关数组的题:
这里有一个难点是,数字排序里有负数。使用sort进行排序也会报错。
所以,几经思考和测试后,我的答案如下:
function highAndLow(numbers){ var numArr=[],numArr1=[],numArr2=[]; numbers.split(' ').map(function(n){ if(n>=0){ numArr2.push(n); }else{ numArr1.push(n); } }); numArr1.sort((a,b)=>b-a); numArr2.sort((a,b)=>b-a); numArr = numArr2.concat(numArr1); numArr.splice(1,numArr.length-2); return numArr.join(' ') }
先将正负数分为两组,再分别进行排序,最后合并数组,取数组的第一位和最后一位即可。
方法有点笨。哈哈哈,我就是那只笨鸟了。
最后去查看别人写的代码:
实践性最强的是
function highAndLow(numbers){ numbers = numbers.split(' ').map(Number); return Math.max.apply(0, numbers) + ' ' + Math.min.apply(0, numbers); }
直接运用了Math的max和min方法(我怎么就没想到呢?猪脑袋,555...)
还有一个和我最初想法最接近的:
function highAndLow(numbers){ var arr = numbers.split(' ').sort(function(a, b) { return a - b }); return arr[arr.length -1] + ' ' + arr[0]; }
只是当时我写成了
function highAndLow(numbers){ numbers.split(' ').sort((a, b)=> a - b }); numbers.splice(1,numbers.length-2); return numbers.join(' '); }
因为没把numbers转换成数组,导致错误(低级错误)
以上就是code war的实例教程的详细内容,更多请关注其它相关文章!
下一篇: 微信小程序实现滚动加载数据的方法介绍
推荐阅读
-
Python通过RabbitMQ服务器实现交换机功能的实例教程
-
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
-
Springboot打成war包并在tomcat中运行的部署方法
-
Photoshop将利用替换颜色命令快速将照片变成黄色的入门实例教程
-
网页自动退出登录账号的设置步骤实例教程
-
php成功操作redis cluster集群的实例教程
-
使用vs code编辑调试php配置的方法
-
Photoshop打造一颗漂亮的红色覆盆子实例教程
-
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
-
CorelDraw(CDR)设计打造黄金质感的倾斜立体字效果实例教程