### Javascript exercises > 編號:CANDY-006 > 程式語言:JavaScript > 題目:找出在數字陣列裡跟其它元素不一樣的值 ```javascript= // test inputs const findDifferentTests = { test1: [1, 1, 1, 1, 3, 1, 1, 1], test2: [2, 2, 2, 4, 2, 2], test3: [8, 3, 3, 3, 3, 3, 3, 3], }; const findDifferent = (numbers) => { // object to store counted numbers const counterObj = {}; numbers.forEach((number) => { if (counterObj[number]) { counterObj[number] += 1; } else { counterObj[number] = 1; } }); // find number that only appear once const oddNumber = Object.keys(counterObj).find( (key) => counterObj[key] === 1 ); return +oddNumber; // converts string to number }; console.log(findDifferent(findDifferentTests.test1)); console.log(findDifferent(findDifferentTests.test2)); console.log(findDifferent(findDifferentTests.test3)); ``` > 編號:CANDY-007 > 程式語言:JavaScript > 題目:在某個數字陣列裡,可能藏有某個不合群的奇數或偶數,試著找出它! ```javascript= // test inputs const findSomeDifferentTests = { test1: [2, 4, 0, 100, 4, 11, 2602, 36], test2: [160, 3, 1719, 19, 11, 13, -21], }; const findSomeDifferent = (numbers) => { const evenArray = []; const oddArray = []; numbers.forEach((number) => { if (number % 2 === 0) { evenArray.push(number); } else { oddArray.push(number); } }); return evenArray.length === 1 ? evenArray[0] : oddArray[0]; }; console.log(findSomeDifferent(findSomeDifferentTests.test1)); console.log(findSomeDifferent(findSomeDifferentTests.test2)); ``` > 編號:CANDY-008 > 程式語言:JavaScript > 題目:傳入一字串,計算得分最高的字 > 英文字母 a 得 1 分、b 得 2 分、c 得 3 分,以此類推。 > 所有傳入的字都是小寫。 ```javascript= // test inputs const highestScoreWordTest = { test1: "lorem ipsum dolor sit amet", test2: "heyn i need a rubygem up to build this", test3: "in time machine there are some bugs", }; // helper function for getting the corresponding alphabet number // 'a' = 1, 'b' = 2, 'c' = 3, etc. const getAlphabetNumber = (character) => { return character.charCodeAt() - 96; }; const highestScoreWord = (str) => { let highestPoint = 0; let highestPointWord = ""; // split the string const words = str.split(" "); // loop through all the words words.forEach((word) => { let total = 0; word.split("").forEach((letter) => { total += getAlphabetNumber(letter); }); // check if word has higher points if (total > highestPoint) { highestPoint = total; highestPointWord = word; } }); return highestPointWord; }; console.log(highestScoreWord(highestScoreWordTest.test1)); console.log(highestScoreWord(highestScoreWordTest.test2)); console.log(highestScoreWord(highestScoreWordTest.test3)); ``` > 編號:CANDY-009 > 程式語言:JavaScript > 題目:移除網址中的錨點(Anchor) ```javascript= const removeAnchorTests = { test1: "5xruby.tw", test2: "5xruby.tw/#about", test3: "5xruby.tw/courses/?page=1#about", }; const removeAnchor = (url) => { const indexOfAnchor = url.indexOf("#"); return indexOfAnchor === -1 ? url : url.substring(0, indexOfAnchor); }; console.log(removeAnchor(removeAnchorTests.test1)); // 印出 5xruby.tw console.log(removeAnchor(removeAnchorTests.test2)); // 印出 5xruby.tw/ console.log(removeAnchor(removeAnchorTests.test3)); // 印出 5xruby.tw/courses/?page=1 ```