- 1. Reverse a String
- 2. Factorialize a Number
- 3. Check for Palindromes
- 4. Find the Longest Word in a String
- 5. Title Case a Sentence
- 6. Return Largest Numbers in Arrays
- 7. Confirm the Ending
- 8. Repeat a string repeat a string
- 9. Truncate a string
- 10. Chunky Monkey
- 11. Slasher Flick
- 12. Mutations
- 13. Falsy Bouncer
- 14. Seek and Destroy
- 15. Where do I belong
- 16. Caesars Cipher
FCC 练习代码,在线偶尔会丢失,留个记录
1. Reverse a String
翻转字符串
思路:
- 把字符串转化成数组
split()
, - 再借助数组的
reverse()
方法翻转数组顺序, - 最后把数组转化成字符串
join()
。
function reverseString(str) {
return str.split("").reverse().join("");
}
2. Factorialize a Number
计算一个整数的阶乘
思路:
- 规律:
n! = n * ( n-1 )!
,节点:0和1的阶乘为1
function factorialize(n){
if(num <= 1) return 1;
return num * factorialize(num - 1);
}
3. Check for Palindromes
检查回文字符串
思路:
- 先转小写,避免对比的时候产出漏洞,
.toLowerCase()
- 清除非字母数字的字符,全部替换成空串,
.replact()
- 翻转字符串,然后判断是否等于翻转之前的字符,若相等,则判定为回文
function palindrome(str) {
var str1 = str.toLowerCase().replace(/[^a-zA-Z0-9]/g,"");
var str2 = str1.split("").reverse().join("");
if (str1 === str2) return true;
return false;
}
Codepen:https://codepen.io/wildye/pen/yjmxyz?editors=0012
4. Find the Longest Word in a String
找出最长单词
思路:
- 先将字符串的字母分割为数组元素
.split(" ")
- 使用
.map()
方法迭代每个元素,返回其.length
,这样我们得到了一个包含每个单词长度的数组 - 使用
.sort()
对数据进行逆排序,然后取第一个子元素
function findLongestWord(str) {
return str.split(" ").map(function(val){
return val.length;
}).sort(