初级脚本算法
qq_40789769
菜鸟一枚,写这个是方便复习
展开
-
位移密码算法挑战
题目 实现代码 function rot13(str) { var rStr=""; for(var i=0;i<str.length;i++){ //返回位置i处的字符的Unicode编码 var n=str.charCodeAt(i); //返回位置i处的字符 var c=str.charAt(i); if(n>64&&n<91){ if(n+13<91){ //将unicode编码原创 2020-11-30 22:26:55 · 105 阅读 · 0 评论 -
数组排序并插入值算法挑战
题目 主要代码 function where(arr,num){ var r=0; //排序函数sort arr=arr.sort(fuction (a,b){return a-b;}); for(var i=0;i<arr.length;i++){ if(num>arr[i]){ r++; } } return r; } where([20,18,56,44],36);原创 2020-11-30 10:00:20 · 83 阅读 · 0 评论 -
去除数组中任意多个值算法挑战
题目 实现代码 function destroyer(arr){ arr=arguments[0]; var tArr=arguments; return arr.filter(function (value){ for(var i=1;i<tArr.length;i++){ if(value==tArr[i]){ return false; } } return true; }); } destroyer([1,2,3,1,2,3,1,2,3],2原创 2020-11-28 20:15:12 · 94 阅读 · 0 评论 -
删除数组中特定值算法挑战
题目 实现代码 function bouncer(arr) { return arr.filter(checkLetter); } //checkLetter函数写的是过滤规则 function checkLetter(s){ return s!=false && s!=null && s!=0 && s!=undefined && !(s.toString()=='NaN' ); } bouncer([7, "ate", "", f原创 2020-11-26 20:02:20 · 70 阅读 · 0 评论 -
数组查询算法挑战
题目 实现代码 function mutation(arr) { for(var i=0;i<arr[1].length;i++){ if(arr[0].toLowerCase().indexOf(arr[1].toLowerCase().substr(i,1))==-1){ return false; } } retu原创 2020-11-25 11:09:00 · 79 阅读 · 0 评论 -
数组截断算法挑战
题目 实现代码1 function slasher(arr, howMany) { //从howMany位置分割数组并返回 arr=arr.slice(howMany); return arr; } slasher([1, 2, 3], 2); 实现代码2 function slasher(arr, howMany) { if(howMany == 0){ return arr; }else if(arr.length<=howMany){原创 2020-11-25 10:20:52 · 76 阅读 · 0 评论 -
数组分割算法挑战
题目 实现代码 function chunk(arr, size) { //定义可以分为几组 var len=parseInt(arr.length/size); var remain=arr.length%size; //定义新数组 var newArr=[]; //定义要循环的趟数 var sot=remain>0?len+1:len; for(var f=1;f<=sot;f++){ //分割的开始下标和结束下标 var start=si原创 2020-11-22 11:32:20 · 45 阅读 · 0 评论 -
字符串截取算法挑战
题目 实现代码 function truncate(str, num) { var newStr=[]; if(num>=str.length){ newStr=str.substr(0,num); } if(num<=3){ newStr=str.substr(0,num)+"..."; } if(num>3&&num<str.length){ newStr原创 2020-11-21 11:07:36 · 82 阅读 · 0 评论 -
重复操作算法挑战
题目 实现代码 function repeat(str, num) { // repeat after me var newStr=[]; if(num<0){ newStr=""; }else{ for(var i=1;i<=num;i++){ newStr+=str; } } return newStr; } repeat("abc", 3);原创 2020-11-21 10:41:56 · 81 阅读 · 0 评论 -
确认末尾字符算法挑战
题目要求 实现代码 function confirmEnding(str, target) { newStr=str.substring(str.length-target.length); //newStr=str.substr(str.length-target.length); return newStr==target; } substr与substring的不同 1、对于substring()方法 2、对于substr()方法 ...原创 2020-11-19 20:27:51 · 116 阅读 · 0 评论 -
寻找数组中的最大值算法挑战
题目 largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]); 实现代码 function largestOfFour(arr) { // You can do this! #先定义一个新数组 var newStr=[]; var max; for(var i=0;i<arr.length;i++){ #假设最大值是每行的第一个原创 2020-11-18 14:11:02 · 187 阅读 · 0 评论 -
设置首字母大写算法挑战
题目 主要代码 function titleCase(str) { #先把字符串每个单词都转化为小写 str=str.toLowerCase(); #分割出每个单词 var arr=str.split(" "); for(var i=0;i<arr.length;i++){ var temp=arr[i]; arr[i]=temp.substring(0,1).toUpperCase()+temp.substring(1); } re原创 2020-11-17 15:58:26 · 150 阅读 · 0 评论 -
寻找最长的单词算法挑战
题目 实现代码 function findLongestWord(str) { #先将字符串分割为一个一个的单词 var arr=str.split(" "); #假设第1个单词的长度最长 var maxLen=arr[0].length; #迭代arr数组,比较所有单词的长度,找到最长的 for(var i=1;i<arr.length;i++){ if(arr[i].length>maxLen){ maxLen=ar原创 2020-11-16 21:27:02 · 51 阅读 · 0 评论 -
翻转字符串算法
初级脚本算法之翻转字符串算法 题目要求 校验规则 function reverseString(str) { #分割、翻转、合并 return str.split("").reverse().join(""); }原创 2020-11-13 12:25:11 · 44 阅读 · 0 评论 -
阶乘算法挑战
题目要求 代码 function factorialize(num) { var a=1; for(var i=1;i<=num;i++){ a=a*i; } return a; }原创 2020-11-14 17:19:59 · 74 阅读 · 0 评论 -
回文算法挑战
题目 正则表达式的一些用法 #表示匹配到数字0—9,小写字母a-z以及大写字母A-Z这些字符 /[0-9a-zA-Z]/g #表示匹配除数字0—9,小写字母a-z以及大写字母A-Z之外的字符 /[^0-9a-zA-Z]/g 实现代码 function palindrome(str) { // Good luck! var re=/[^A-Za-z0-9]/g; #将除数字0—9,小写字母a-z以及大写字母A-Z之外的字符替换为空格 var lowRegStr=str.replace(原创 2020-11-15 16:41:09 · 59 阅读 · 0 评论