Codewars 你虐我千百遍,我待你如初恋!


theme: scrolls-light

3698432f9823fd0ba97286d141f728f.png

本人最近接触了Codewars啥的,没什么见识哈哈哈哈,刚开始看不懂啥的,到后面看多了其实也还好。我是小白轻点喷!!!接下来就让我展示第一次写文章的历程吧,showTime

第一位嘉宾A出场

嘉宾自我介绍:Multiply 哈哈哈就是简单的加法,上菜

jsfunction multiply(a, b){
  a * b
}

这个就不多介绍了,幼儿园的小朋友都可能明白了,不明白的去重读哈哈哈哈哈!

第二位嘉宾B出场

B站起来了:如果输入或结果是空字符串,则必须返回false。等压线是一个没有重复字母的单词,连续或非连续。实现一个函数,该函数确定仅包含字母的字符串是否为等压线。假设空字符串是一个等压线。忽略字母大小写。
示例:

1669626879814.png

代码:

function isIsogram(str){
    if (str === '') return true;
    str = str.toLowerCase();
    let arr = str.split('');
    let obj = {}; // 空间的分配 

    for (let i = 0; i < str.length; i++) {
        let char = arr[i];
        if (obj[char] == 1) { // 重复出现
            return false;
        } else {
            obj[char] = 1  // 第一次
        }
    }
    return true;
}

鄙人初略的见解: 因为是忽略大小写,然后就将字符串用toLowerCase()变成小写,然后用split(”)将字符串变成一个个的字符,然后通过空间的分配,用for循环,一个个字符遍历过去。然后通过obj[char]==1来说明字符串中同样的字符是否同时出现来实现。

第三位嘉宾C出场

C他还在葛优躺:编写一个接受10个整数(介于0和9之间)的数组的函数,以电话号码的形式返回这些数字的字符串。
示例:

1669627876785.png
代码:

function createPhoneNumber(numbers){
  var format = "(xxx) xxx-xxxx";
  
  for(var i = 0; i < numbers.length; i++)
  {
    format = format.replace('x', numbers[i]);
  }
  
  return format;
}

鄙人粗略的见解: 首先咱们先定义一个字符串把最终的样式全弄出来,然后将里面的子符全设为x,用replace()方法将里面的x替换,主要用for循环来遍历数组并且将每个字符进行替换就能实现了!

第四位嘉宾D出场

D他已经按耐不住了: 你可能知道Facebook和其他网页上的“点赞”系统。人们可以“喜欢”博客文章、图片或其他项目。我们希望创建应该显示在此类项目旁边的文本。实现一个函数,该函数获取一个数组,其中包含喜欢某项的人的姓名。它必须返回显示文本。
示例:

1669630724340.png
代码:

function likes(names) {
  return {
    0: 'no one likes this',
    1: `${names[0]} likes this`, 
    2: `${names[0]} and ${names[1]} like this`, 
    3: `${names[0]}, ${names[1]} and ${names[2]} like this`, 
    4: `${names[0]}, ${names[1]} and ${names.length - 2} others like this`, 
  }[Math.min(4, names.length)]
}

鄙人粗略的见解: 首先看到这个题目其实并不难,用数组的下标来判断长度然后就可以输出答案了,但我用的是模板字符串输出,这样会简单一点。然后我用了Math.min(4,name.length),将4和数组的长度进行比较,然后输出里面的五个结果!

最后一位嘉宾E出场

E他拍了怕自己衣服上的灰尘: 营销团队花了太多时间键入标签。
让我们用自己的Hashtag Generator帮助他们
它必须以hashtag(#)开头;
所有单词的首字母必须大写;
如果最终结果超过140个字符,则必须返回false;
如果输入或结果是空字符串,则必须返回false。
示例:

1669631351901.png
代码:

function generateHashtag (str) {
    str = str.replace(/\s+/g, ' ').trim() ;
    if(str==="") return false ;
    str1 = [];
    str.split(" ").map(s => str1.push (s[0].toUpperCase() + s.slice(1)));
    str = "#" +str1; 
    str = str.replace(/,/g, "");
    if(str.length>140) return false;
    return str;
}

鄙人粗略的见解: 首先用正则表达式将输入的字符串和replace(),trim()将字符串的空白字符全去除,定义一个str1空的数组,然后通过spilt()以空格为界限切割str这个数组,map()遍历数组s[0].toUpperCase() 首字符大写,s.slice(1)切割出首字符后的字符,+号拼接,最后用#字符串拼接就达到了要求,然后通过他的要求空的字符串和字符串长度大于140放回false。

咱们江湖有缘再见

  • [ ] image.png
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容