Codewars练习笔记·1 - 6.23
我的解答为:
class SmallestIntegerFinder {
findSmallestInt(args) {
var a = args[0];
for(var i=0; i<args.length; i++){
if(args[i] <= a){
a = args[i];
}
}
return a;
}
}
较优解答为:
class SmallestIntegerFinder {
findSmallestInt(args) {
return Math.min.apply(null, args);
}
}
分析:
可以看出我所想到使用的方法仍处于比较初级的阶段,没有想到用Math对象的方法实现。使用方法可以减少代码量,更简洁。也说明了对于常用方法这部分的内容还不熟练。
笔记:
基础练习(2)

我的解答为:
function removeSmallest(numbers) {
var lowest = Math.min.apply(Math,numbers);
var index = numbers.indexOf(lowest);
numbers.splice(index,1);
return numbers;
}
较优解答为:
function removeSmallest(numbers) {
if(!numbers)return [];
var min=Math.min.apply(null,numbers);
numbers.splice(numbers.indexOf(min),1);
return numbers;
}
分析:
思路都是使用Math.min.apply()方法求出最小值,再使用indexOf()方法求出该最小值在数组中的索引值,最后通过splice()方法,通过设置索引值和删除的项数来删除该最小值。不同的一点是,在执行这一些列的操作前,先判断数组是否为空,若为空则直接返回一个空数组。
笔记:
基础练习(3)

我的解答为:
function squareDigits(num) {
var arr = num.toString().split("");
var newarr = arr.map(function(item,index,array) {
return Math.pow(item,2);
});
var newnum = Number(newarr.join(""));
return newnum;
}
较优解答为:
function squareDigits(num){
return Number((' ' + num).split('').map(function (val) { return val * val;}).join(' '));
}
分析:
相比之下,较优解一般喜欢使用一条语句得出答案,此外使用的方法都是相类似的。其中将数值型数据转为字符型数据时,他使用的是弱类型转换。而后在计算平方时,使用的方法是直接相乘,我觉得不利于日后的代码修改的,比如说改为任意次方?,所以我觉得使用Math.pow()方法会比较好一些。
笔记:
Codewars练习笔记·1 - 6.23的更多相关文章
- 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.23)-- Format NVM command
5.23 Format NVM command - NVM Command Set Specific Format NVM命令用于低级格式化NVM媒介.这个命令被host主机使用,来变更LBA数据大小 ...
- 安卓权威编程指南-笔记(第23章 HTTP与后台任务)
1. 网络连接基本 //通过指定URL获取原始数据,并返回一个字节流数组. public byte[] getUrlBytes(String urlSpec)throws IOException{ / ...
- codewars 题目笔记
原题: Description: Bob is preparing to pass IQ test. The most frequent task in this test is to find ou ...
- 《从零开始学Swift》学习笔记(Day 23)——尾随闭包
原创文章,欢迎转载.转载请注明:关东升的博客 闭包表达式可以作为函数的参数传递,如果闭包表达式很长,就会影响程序的可读性.尾随闭包是一个书写在函数括号之后的闭包表达式,函数支持将其作为最后一个参数调用 ...
- Index of my articles
65:一个表格说明RelativeLayout中的几个重要属性[Written By KillerLegend] (2013-10-16 21:59) 64:win7修改软件[授权给…]后面的名称 ( ...
- Opencv 学习资料集合(更新中。。。)
基础学习笔记之opencv(24):imwrite函数的使用 tornadomeet 2012-12-26 16:36 阅读:13258 评论:9 基础学习笔记之opencv(23):OpenCV坐标 ...
- .vimrc快捷键设置
$ cat ~/.vimrc,centos7是在/etc/vimrc文件中配置. nmap <C-_>s :cs find s <C-R>=expand("<c ...
- [No0000199]设计模式总结
设计模式之间的关系: 设计模式总概况: 一.设计原则 .单一职责原则 一个类,只有一个引起它变化的原因.应该只有一个职责.每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一 ...
- Drupal 7.23版本升级笔记
转载请注明出处:http://blog.csdn.net/panjunbiao/article/details/9860849 今天将尝试将Drupal网站从7.22升级到7.23,下面是升级笔记. ...
随机推荐
- 关于使用JavaScript实现图片点击切换(附带改变导航图片 方案二)
具体需求见方案一. 这种方案相比方案一更加专业. <!DOCTYPE html> <html> <head lang="en"> <met ...
- cssText的用法以及特点
cssText 本质是什么? cssText 的本质就是设置 HTML 元素的 style 属性值. cssText 怎么用? document.getElementById("d1&quo ...
- int与string的相互转换
<1>stringstream 的方式 C++标准库里面有一个stringstream可以用于各种数据类型之间的转换.无论是从int到string,还是从string到int都可以使用这种 ...
- [刷题]算法竞赛入门经典(第2版) 4-3/UVa220 - Othello
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) //UVa 220 - Othello #include<iostream ...
- background新增的N个强悍功能!!!
background在CSS3中新增样式: [ ] 首先我们先回顾下background的原有样式: background-color 背景颜色 相关属性值: 关键字:red,blue,yellow等 ...
- Java学习笔记——排序算法之简单排序
男儿何不带吴钩,收取关山五十州.请君暂上凌烟阁,若个书生万户侯? --南园十三首 三种排序法: 1.冒泡法 2.简单选择法 3.直接插入法 上代码: 1.冒泡排序 public class Bub ...
- photo
我们在android开发过程中 经常有做到发图片或修改上传头像的功能 即要调用系统相册 如何调用系统相册并处理返回的数据呢?因为随着android手机系统的提高 不同系统的手机对调用相册并处理相册不同 ...
- python之配置logging的几种方式
作为开发者,我们可以通过以下3中方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文 ...
- java集合(1)- 类底层数据结构分析
Java 集合类图 参考:http://www.cnblogs.com/xwdreamer/archive/2012/05/30/2526822.html
- 关于IOS sourcetree 注册 2017最新hosts
今天用sourcetree git管理工具的时候,第一次打开发现需要注册. 在网上搜索了一下教程,发现现在新版本没有 (我同意协议)这个条款,这就尴尬.我以前没有sourcetree的账号. 试了 ...