本人最近接触了Codewars啥的,没什么见识哈哈哈哈,刚开始看不懂啥的,到后面看多了其实也还好。我是小白轻点喷!!!接下来就让我展示第一次写文章的历程吧,showTime:
第一位嘉宾A出场
嘉宾自我介绍:Multiply 哈哈哈就是简单的加法,上菜
jsfunction multiply(a, b){a * b
}
这个就不多介绍了,幼儿园的小朋友都可能明白了,不明白的去重读哈哈哈哈哈!
第二位嘉宾B出场
B站起来了:如果输入或结果是空字符串,则必须返回false。等压线是一个没有重复字母的单词,连续或非连续。实现一个函数,该函数确定仅包含字母的字符串是否为等压线。假设空字符串是一个等压线。忽略字母大小写。示例:
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之间)的数组的函数,以电话号码的形式返回这些数字的字符串。示例:
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和其他网页上的“点赞”系统。人们可以“喜欢”博客文章、图片或其他项目。我们希望创建应该显示在此类项目旁边的文本。实现一个函数,该函数获取一个数组,其中包含喜欢某项的人的姓名。它必须返回显示文本。示例:
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。示例:
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。### 咱们江湖有缘再见
- [ ]
最后
为大家准备了一个前端资料包。包含54本,2.57G的前端相关电子书,《前端面试宝典(附答案和解析)》,难点、重点知识视频教程(全套)。
有需要的小伙伴,可以点击下方卡片领取,无偿分享