转载

[没基础真可怕] JS基础不好!只能靠它了!

Duang!Duang!Duang! 我不是干货,我是干粮! 推荐个好东西给大家,一个网站: codewars 这网站是干什么的呢?

1.赚钱的(当然不是我们的)!

2.通过做一些编程题可以大大提高你的 Javascript ! 当然也有其他语言:Java C# Ruby .... 网站很强大,界面设计的很不错,就是外网访问起来不牛畅,但是国内也还没有这么一个网站,大家慢慢体会!

4.网站有很多的题目,难度系数分等级,如果你能解答3级及以下的的题目就算JS靠谱的了!

5.Codewars的奖励系统激励程序员们像打游戏升级一样地做习题(还是打游戏爽吧)。

来看看我刚才做的一道JS编程题:

[没基础真可怕] JS基础不好!只能靠它了!

题目的意思:编写一个 maskiy 函数,将长度>4的字符串保留最后四位,其余的用‘#’代替。长度<4则输出原始值。

好,我很菜,这是我写的:

 function maskify(cc) {  if(cc.length > 4){   var newstr = '';   var str = cc.slice(0,cc.length - 4);   for(var i = 0 ,lng = str.length;i<lng;i++){    var word = str.charAt(i);    newstr +=word.replace(word,'#');;   }   var lastfour = cc.slice(-4);   return newstr+lastfour;  }else{   return cc;  } }  

o(╯□╰)o 虽然能够实现,但怎么看都觉得菜成狗!当然这也是一种方案。你想一下,有很多人提交,每个人很可能都不同,那么这题就有那么多解答方案,我们是不是可以学到很多!

ok,来看看其他人的解答:

   1.function maskify(cc) {     return cc.slice(0, -4).replace(/./g, '#') + cc.slice(-4);   }   我滴天,和我得比起来..这...要吐血了!我得赶紧去补补正则了!   2.function maskify(cc) {    return cc.split('').map(function(x,i){     return i<cc.length-4?'#':cc[i];    }).join('');   }    这个也不错哦!   3.function maskify(cc) {    return cc.replace(/.(?=.{4})/g,"#");  }   4.function maskify(cc) {    return (cc.length>2?new Array(cc.length-3).join('#'):'')+cc.substr(-4);  }  

还有很多答案,大家去试试吧,睡前来一题,精神倍爽!啊,不用睡觉了 `( ∩_∩ )′。。。

附上一些链接:

CodeWars 上面的奇葩问题和回答(一)

CodeWars 上面的奇葩问题和回答(二)
正文到此结束
Loading...