codewars练习(javascript)-2021/2/5
文章目录
- codewars-js练习
- 2021/2/5
- github 地址
- 【1】<5kyu>【Regex Password Validation】
- 【2】<6kyu>【Two Sum】
- 【3】<5kyu>【String incrementer】
codewars-js练习
2021/2/5
github 地址
my github地址,上面有做的习题记录,不断更新…
【1】<5kyu>【Regex Password Validation】
You need to write regex that will validate a password to make sure it meets the following criteria:
- At least six characters long
- contains a lowercase letter
- contains an uppercase letter
- contains a number
Valid passwords will only be alphanumeric characters.
您需要编写正则表达式来验证密码,以确保它符合以下条件:
至少6个字符/包含小写字母/包含大写字母/包含许多/有效的密码只能是字母数字字符。
example:
('djI38D55'), 'djI38D55 - Expected true'
('a2.d412'), 'a2.d412 - Expected false'
solution
<script type="text/javascript">function validate(password) {return /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])\w{6,}$/g.test(password);}// 验证console.log(validate('djI38D55')); // trueconsole.log(validate('a2.d412')); //falseconsole.log(validate('123'));//falseconsole.log(validate('jfkdfj3j'));//falseconsole.log(validate('JHD5FJ53'));//false</script>
【2】<6kyu>【Two Sum】
Write a function that takes an array of numbers (integers for the tests) and a target number. It should find two different items in the array that, when added together, give the target value. The indices of these items should then be returned in a tuple like so: (index1, index2)
.
返回相加等于目标和的两个index
example:
twoSum [1, 2, 3] 4 //(0, 2)
twoSum [1234,5678,9012] 14690//[1,2]
solution
<script type="text/javascript">function twoSum(numbers, target) {// console.log(numbers,target);for(var i=0;i<numbers.length;i++){for(var j=i+1;j<numbers.length;j++){if(numbers[i] + numbers[j] == target){// console.log(numbers[i]+numbers[j] == target);return [i,j];}} }}// 验证console.log(twoSum([1,2,3],4)); // [0,2]console.log(twoSum([1234,5678,9012],14690));//[1,2])</script>
【3】<5kyu>【String incrementer】
Your job is to write a function which increments a string, to create a new string.
- If the string already ends with a number, the number should be incremented by 1.
- If the string does not end with a number. the number 1 should be appended to the new string.
你的工作是写一个函数来增加一个字符串,来创建一个新的字符串。
如果字符串已经以一个数字结束,则该数字应该加1;如果字符串没有以数字结束。数字1应该被附加到新的字符串中。
example:
foo -> foo1foobar23 -> foobar24foo0042 -> foo0043foo9 -> foo10foo099 -> foo100
solution
<script type="text/javascript">function incrementString (strng) {console.log(strng);var arr = strng.split('');var num = strng.match(/(\d*)$/)[0];// console.log(typeof num);var len = strng.length - num.length;if(num !=0){for(var i=num.length-1;i>0;i--){if(parseInt(num[i])==0){// console.log(strng.substring(0,len+i+1));// console.log(strng.substring(strng.length-1,strng.length))if(strng.substring(strng.length-1,strng.length) == 9){return strng.substring(0,len+i) + (parseInt(num)+1);}return strng.substring(0,len+i+1) + (parseInt(num)+1);// if()}}return strng.substring(0,len) + (parseInt(num)+1);}else{console.log((/0{1,}/g).test(num))// console.log('2')if((/0{1,}/g).test(num)){for(var i=num.length-1;i>0;i--){if(parseInt(num[i])==0){return strng.substring(0,len+i) + (parseInt(num)+1);}}}else{return strng + '1';}}}// 验证console.log(incrementString('foo')); // foo1// console.log(incrementString('foo9'));// foo10// console.log(incrementString('foobar001'));// foobar002console.log(incrementString('foobar000'))//foobar001</script>
以上为自己思路供大家参考,可能有更优的思路。最后一道祈求最优解,感觉我写的很繁琐
codewars练习(javascript)-2021/2/5相关推荐
- JavaScript(2021.9.26)
一.引入 1.计算机语言 2.编程语言和标记语言的区别 3.数据存储单位 二.JavaScript简介 1.JS参考文献 菜鸟教程:AngularJS 参考手册 | 菜鸟教程 W3school:Jav ...
- echarts之 数据可视化简单页面模板
今天,我们采用echarts数据可视化图形来做一个简单的数据可视化页面. 其中,涉及到一些css文件.js文件等等,都可以在这个博主的github上下载到,路过的小伙伴欢迎star!! Echart ...
- Echarts视图可视化-学习笔记(努力更新中)
文章目录 1. Echarts简介 2. 常见的数据可视化库 3. Echarts第一个小案例 4. Echarts基础配置 4.1 title 4.2 tooltip 4.3 legend 4.4 ...
- Echarts-数据可视化
在实训中,利用Echarts.css.JavaScript以及HTML来制作的一个数据可视化界面,支持折线图(区域图).柱状图(条状图).散点图(气泡图).K线图.饼图(环形图).雷达图(填充雷达 图 ...
- codewars练习(javascript)-2021/2/10
文章目录 codewars-js练习 2021/2/10 github 地址 [1]<7kyu>[Hells Kitchen] codewars-js练习 2021/2/10 github ...
- codewars练习(javascript)-2021/2/1
文章目录 codewars-js练习 2021/2/1 github 地址 [1]<7kyu>[Anagram Detection] [2]<7kyu>[Round up to ...
- 2021 GitHub年度报告:7300万开发者,最爱的依旧是Javascript
视学算法报道 编辑:蛋酱 全球最大的代码托管平台 GitHub,至今已聚集了超过 7300 万的开发者. 2020 年,新冠疫情突然到来,拉开了人与人之间的「地理距离」.与此同时,开发者们不得不开始学 ...
- 2021年编程语言趋势预测:Python和JavaScript仍火热,Go不可小觑
来源:AI科技评论 本文约2300字,建议阅读7分钟 本文为大家分析了 2021 年编程语言趋势. Tensorflow和Pytorch到底该用哪个呢? "import tensorflow ...
- 2021 年 JavaScript 大事记
大家好,我是 ConardLi,不知不觉中,2021 年已经接近尾声了,不知道在 2021 这一年,你收获了什么?又失去了什么呢? 又到了开始做年终总结的时候了,今天,我来给 JavaScript 做 ...
- 2021年JavaScript的发展前景如何呢?
在Web开发中,我们的世界瞬息万变,但我们能够了解2021年web 的发展趋势吗?通过研究2020年开发者调查的数据,我发现了一些有趣的事. 让我们深入研究并探索我们从数据中得到的发现吧. 包管理器 ...
最新文章
- linux中软件包安装(rpm和yum)
- nbu无法运行java控制台_Netbackup:nbu常见错误及故障解决
- 【Linux】一步一步学Linux——mktemp命令(263)
- 求职:网站编辑或网页美工(北京)
- python opencv把32位的灰度图变成8位的灰度图_python简单换脸程序
- 不同的二叉搜索树 II
- [转]其实每个男孩都想做一个感情专一的好男人
- JS--------文件操作基本方法:上传/下载
- 使用Java实现面向对象编程(6)
- Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
- 青岛科技大学计算机硕士就业,2021年青岛科技大学专业排行榜,哪个专业就业比较好...
- 比Word更优雅的记笔记/写文档/交报告方式
- 转:无损压缩和有损压缩
- Golang如何正确的停止Ticker
- C#编程,获取电脑硬件、硬盘、系统信息
- 如何用usb电缆连接到计算机,如何使用USB串行电缆将文件从计算机传输到树莓派...
- Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS
- ES千亿级搜索实战-架构优化
- python外星人颜色答案_Python-外星人
- 计算机专业应届生简历英语作文,计算机专业英文简历模板范文六篇
热门文章
- opencv-python 实现颜色检测
- 商店卖西瓜 10斤c语言,算法,西瓜切十刀,最多是多少块?
- 情人节程序员用HTML网页表白【情人节爱你的代码】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- VIVADO synthesis和implementation具体完成什么操作
- PHP面向对象编程的基本概念定义操作属性方法
- windows简单命令
- 先有鸡还是先有蛋终结论
- Bugku:杂项 啊哒
- 异常:could not initialize proxy - the owning Session was closed
- 编译UE4出现C1076错误的解决方法