最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

codewar的实例教程

来源:动视网 责编:小采 时间:2020-11-27 20:19:07
文档

codewar的实例教程

codewar的实例教程:今天又接着来继续做一道有关数组的题:这里有一个难点是,数字排序里有负数。使用sort进行排序也会报错。所以,几经思考和测试后,我的答案如下:function highAndLow(numbers){ var numArr=[],numArr1=[],numArr2=[]; numbers.sp
推荐度:
导读codewar的实例教程:今天又接着来继续做一道有关数组的题:这里有一个难点是,数字排序里有负数。使用sort进行排序也会报错。所以,几经思考和测试后,我的答案如下:function highAndLow(numbers){ var numArr=[],numArr1=[],numArr2=[]; numbers.sp
 今天又接着来继续做一道有关数组的题:

这里有一个难点是,数字排序里有负数。使用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转换成数组,导致错误(低级错误)

文档

codewar的实例教程

codewar的实例教程:今天又接着来继续做一道有关数组的题:这里有一个难点是,数字排序里有负数。使用sort进行排序也会报错。所以,几经思考和测试后,我的答案如下:function highAndLow(numbers){ var numArr=[],numArr1=[],numArr2=[]; numbers.sp
推荐度:
标签: 教程 codewars codewar
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top