七、DNA Pairing 生成DNA配对
代码如下:
1 | function pairElement(str) { |
2 | var arr = str.split( '' ), |
3 | rArr = []; |
4 | for ( var i=0;i<arr.length;i++){ |
5 | switch (arr[i]){ |
6 | case 'A' : |
7 | rArr.push([ "A" , "T" ]); |
8 | break ; |
9 | case 'T' : |
10 | rArr.push([ "T" , "A" ]); |
11 | break ; |
12 | case 'C' : |
13 | rArr.push([ "C" , "G" ]); |
14 | break ; |
15 | case 'G' : |
16 | rArr.push([ "G" , "C" ]); |
17 | break ; |
18 | } |
19 | } |
20 | return rArr; |
21 | } |
22 |
23 | pairElement( "GCG" ); |
八、Missing letters 求出缺小的字母
代码如下:
1 | function fearNotLetter(str) { |
2 | var s = str.charCodeAt(0), |
3 | len = str.length, |
4 | e = str.charCodeAt(len - 1), |
5 | matchStr = '' , |
6 | r = '' ; |
7 | if (e - s + 1 == len){ |
8 | return undefined; |
9 | } else { |
10 | for ( var i = s;i <= e;i++){ |
11 | matchStr += String.fromCharCode(i); |
12 | } |
13 | for ( var j = 0;j < matchStr.length; j++){ |
14 | var t = matchStr.charAt(j); |
15 | if (str.indexOf(t)<0){ |
16 | r += t; |
17 | } |
18 | } |
19 | return r; |
20 | } |
21 | } |
22 |
23 | fearNotLetter( "abce" ); |
九、Boo who 判断值是否为boolean值
代码如下:
1 | function booWho(bool) { |
2 | // What is the new fad diet for ghost developers? The Boolean. |
3 | return typeof bool === 'boolean' ; |
4 | } |
5 |
6 | booWho( null ); |
十、Sorted Union 求多数组元素去重
代码如下:
1 | function uniteUnique() { |
2 | var arr = [], |
3 | rArr = []; |
4 | for ( var n=0;n<arguments.length;n++){ |
5 | arr.push(arguments[n]); |
6 | } |
7 | rArr = arr.reduce( function (a,b){ |
8 | var t = []; |
9 | for ( var i=0;i<b.length;i++){ |
10 | if (a.indexOf(b[i])<0){ |
11 | t.push(b[i]); |
12 | } |
13 | } |
14 | return a.concat(t); |
15 | },[]); |
16 | return rArr; |
17 | } |
18 |
19 | uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1]); |
十一、Convert HTML Entities 特殊字符转义
代码如下:
1 | function convertHTML(str) { |
2 | // :) |
3 | return str.replace(/&/g, '&' ).replace(/</g, '<' ).replace(/>/g, '>' ).replace(/"/g, '"' ).replace(/ '/g,' ''); |
4 | } |
5 |
6 | convertHTML( "Dolce & Gabbana" ); |
十二、Spinal Tap Case 句子转化成为标准URL格式
代码如下:
1 | function spinalCase(str) { |
2 | // "It's such a fine line between stupid, and clever." |
3 | // --David St. Hubbins |
4 | var arr = str.match(/[a-zA-Z][a-z]*/g); |
5 | return arr.join( '-' ).toLowerCase(); |
6 | } |
7 |
8 | spinalCase( 'This Is Spinal Tap' ); |