




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FreeCodeCamp 基礎算法題答案解析總結下 FreeCodeCamp 基礎算法題:Reverse a String 先把字符串轉化成數組,再借助數組的 reverse 方法翻轉數 組順序,最後把數組轉化成字符串。function reverseString(str) return str.split().reverse().join(); reverseString(hello);Factorialize a Number 計算一個整數的階乘 ,如果用字母 n 來代表一個整數, 階乘代 表著所有小於或等於 n 的整數的乘積。階乘通常簡寫成 n! 例如: 5! = 1 2 3 4 5 =
2、 120 function factorialize(num) if(num 0)return -1;else if(num = 0)return 1; elsereturn num * factorialize(num-1);factorialize(5);/120Check for Palindromes 如果給定的字符串是回文,返回 true ,反之,返回 false 。如 果一個字符串忽略標點符號、大小寫和空格,正著讀和反著 讀一模一樣,那麼這個字符串就是 palindrome( 回文 )。 function palindrome(str) return str.replace(/W_
3、/g,).toLowerCase() = str.replace(/W_/g,).toLowerCase().split().reverse().join( );Find the Longest Word in a String 找到提供的句子中最長的單詞,並計算它的長度。函數的返 回值應該是一個數字。/法一/*function findLongestWord(str) myStr=str.split( );var longest=0;for(var i = 0;ilongest) longest=myStri.length;return longest;*/法二function findLo
4、ngestWord(str) myStr=str.split( );var arrnum=;for(i=0 ;imyStr.length;i+) arrnum.push(myStri.length);return Math.max.apply(null,arrnum);findLongestWord(The quick brown fox jumped over thelazy dog);Title Case a Sentence/法一 function titleCase(str) var arr=str.toLowerCase().split( );for (i=0;iarr.length
5、;i+)var char=arri.charAt(0); arri=arri.replace(char,char.toUpperCase();return arr.join( );/法二 function titleCase(str) var arr = str.toLowerCase().split( ); for (var i in arr) arri = arri.replace(arri.charAt(0), arri.charAt(0).toUpperCase();return arr.join( );titleCase(Im a little tea pot);Return Lar
6、gest Numbers in Arrays 右邊大數組中包含了 4 個小數組,分別找到每個小數組中的 最大值,然後把它們串聯起來,形成一個新數組。function largestOfFour(arr) var newArr = ;for (var i = 0 ;i 0 ? str.repeat(num) : ;repeat(abc, 3);Truncate a string 截斷一個字符串!如果字符串的長度比指定的參數 num 長, 則把多餘的部分用 . 來表示。切記,插入到字符串尾部的三 個點號也會計入字符串的長度。但是, 如果指定的參數 num 小於或等於 3 ,則添加的三個點號不會計入
7、字符串的長度。 function truncate(str, num) if(str.length 3)num -= 3;var truncted = str.substr(0,num);return truncted + .;truncate(A-tisket a-tasket A green and yellow basket, 11);Chunky Monkey把一個數組 arr 按照指定的數組大小 size 分割成若干個數組 塊。 span type=button data-toggle=tooltip data-placement=top data-clipboard-text=fu
8、nction chunk(arr, size) var myArr=;for (i=0;ifunction chunk(arr, size) var myArr=;for (i=0;iarr.length;i+=size)myArr.push(arr.slice(i,size+i);return myArr;chunk(a, b, c, d, 2);Slasher Flick返回一個數組被截斷 n 個元素後還剩餘的元素,截斷從索引 0 開始。function slasher(arr, howMany) return arr.slice(howMany);slasher(1, 2, 3, 2);
9、Mutations 如果數組第一個字符串元素包含了第二個字符串元素的所 有字符,函數返回 true 。function mutation(arr) var arr1 =arr0.toLowerCase();var arr2 =arr1.toLowerCase();for(var i = 0;i arr2.length;i+)if (arr1.indexOf(arr2i) 0) return false; return true;mutation(hello, hey);false 、Falsy Bouncer 刪除數組中的所有假值。在 JavaScript 中,假值有 null 、 0、 、u
10、ndefined 和 NaN 。function bouncer(arr) return arr.filter(Boolean);bouncer(7, ate, , false, 9);等同於:function bouncer(arr) return arr.filter(function(item,index,array)return Boolean(item););Seek and Destroy實現一個摧毀 (destroyer) 函數,第一個參數是待摧毀的數組, 其餘的參數是待摧毀的值。function destroyer(arr) var arr1 = Array.from(argu
11、ments)0;var arr2 = Array.from(arguments).slice(1);return arr1.filter(function(item)return arr2.indexOf(item) 0;); destroyer(1, 2, 3, 1, 2, 3, 2, 3);Where do I belong 先給數組排序,然後找到指定的值在數組的位置,最後返回 位置對應的索引。function where(arr, num) arr.push(num);/ 插入 arr.sort(function(a,b)return a-b;/ 排序);return arr.index
12、Of(num);where(40, 60, 50);下面我們來介紹風靡全球的凱撒密碼 Caesar cipher ,又叫 移位密碼。 移位密碼也就是密碼中的字母會按照指定的數量來做移位。 一個常見的案例就是 ROT13 密碼,字母會移位 13 個位置。 由 A ? N, B ? O ,以此類推。寫一個 ROT13 函數,實現輸入加密字符串,輸出解密字符 串。所有的字母都是大寫, 不要轉化任何非字母形式的字符 (例如: 空格,標點符號 ),遇到這些特殊字符,跳過它們。function rot13(str) / LBH QVQ VG!var index=null;var temp=;var _A=A.charCodeAt(0);var _Z=Z.charCodeAt(0);var mid=(_A+_Z)/2;for (i=0;i=_A & index=mid)temp+=String.fromCharCode(index+13);else if(indexmid)temp +=String.fromCharCode(index-13); elsetemp +=String.fromCharCode(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年 重庆省考行测考试附答案
- 2025年 新疆昌吉州招聘中学教师考试试题附答案
- 2025年中国烤鸭行业市场全景评估及发展战略研究报告
- 2025年 内蒙古公务员考试行测笔试试题附答案
- 2025年 河南师范大学招聘助研助管人才人员考试试题附答案
- 中国化学药品制剂制造行业市场调研及投资规划建议报告
- 2025年中国格法玻璃行业市场调研及投资战略规划报告
- 2025年 楚雄市起重指挥作业证考试练习题附答案
- 2025年 白山市林业局直属事业单位招聘考试笔试试题附答案
- 油气水高效三相分离器行业深度研究分析报告(2024-2030版)
- 探索神奇的植物世界智慧树知到期末考试答案章节答案2024年成都师范学院
- 清华强基化学试题
- 2024-2030年中国机器人关节模组行业市场竞争态势及前景战略研判报告
- 水平四(七年级)体育《足球》大单元教学计划(18课时)
- 实验室仪器设备等采购项目培训方案
- 三江学院辅导员考试试题2024
- UASB+SBR处理果汁废水设计说明书及图纸
- 华图教育:2024年国考面试白皮书
- 全飞秒激光近视手术
- 2024年海港区社区工作者招聘笔试冲刺题(带答案解析)
- 国开2024春专科《高等数学基础》形考任务1-4试题及答案
评论
0/150
提交评论