@@ -1200,3 +1200,53 @@ let s = "IceCreAm";
12001200 */
12011201// console.log(reverseVowels(s));
12021202
1203+ /**
1204+ a - z /A - Z = 1 ~ 26
1205+ 以陣列型態回傳元素對應/正確的字母順序有幾個
1206+ */
1207+ function solve ( arr ) {
1208+ // 元素字母有大小寫
1209+ let letterObj = generateAlphabet ( ) ;
1210+ // console.log(letterObj)
1211+ let result = [ ] ;
1212+ for ( let i = 0 ; i < arr . length ; ++ i ) {
1213+ let str = arr [ i ] . toLocaleLowerCase ( ) . split ( "" ) ;
1214+ console . log ( str )
1215+ for ( const [ key , value ] of letterObj ) {
1216+ // console.log(key)
1217+ // if(key === str){
1218+
1219+ // }
1220+ }
1221+ }
1222+
1223+ /**
1224+ * 產生26個英文字母
1225+ * a = 26,b = 25 ....
1226+ * @returns obj
1227+ */
1228+ function generateAlphabet ( ) {
1229+ let start = "a" ;
1230+ let end = "z" ;
1231+ let alp = new Map ( ) ;
1232+ let range = 26 ;
1233+ let i = start . charCodeAt ( 0 ) , j = end . charCodeAt ( 0 ) ;
1234+ for ( ; i <= j ; ++ i ) {
1235+ // alp[String.fromCharCode(i)] = range--;
1236+ alp . set ( String . fromCharCode ( i ) , range -- ) ;
1237+ }
1238+ return alp ;
1239+ }
1240+
1241+ // console.log(letterObj)
1242+ } ;
1243+ let arr = [ "IAMDEFANDJKL" , "thedefgh" , "xyzDEFghijabc" ] ;
1244+ // describe("Basic tests", () => {
1245+ // it("Fixed tests", () => {
1246+ // assert.deepEqual(solve(["abode","ABc","xyzD"]),[4,3,1]);
1247+ // assert.deepEqual(solve(["abide","ABc","xyz"]),[4,3,0]);
1248+ // assert.deepEqual(solve(["IAMDEFANDJKL","thedefgh","xyzDEFghijabc"]),[6, 5, 7]);
1249+ // assert.deepEqual(solve(["encode","abc","xyzD","ABmD"]),[1, 3, 1, 3]);
1250+ // });
1251+ // });
1252+ console . log ( solve ( arr ) )
0 commit comments