Skip to content

Commit c0145a1

Browse files
committed
add practice
1 parent 24b2515 commit c0145a1

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

javascript/index.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)