Solution#1: function even_or_odd(number) { return number % 2 == 0 ? “Even” ; “Odd”; } Solution#2: function even_or_odd(number) { return number % 2 ? “Odd” ; “Even”; // 1:true,0:false }
Solution#1: function repeatStr (n, s) { var str = “”; var times = 0; while (times < n) { str += s; // str = str + s times++; } return str; } Solution#2: function repeatStr (n, s) { var str = “”; for (var i = 0; i < n; i++) { str += s; } return str; } Solution#3: function repeatStr (n, s) { return s.repeat(n); } // Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
function removeChar(str){ return str.slice(1,-1); }; // Reference:slice (string) https://msdn.microsoft.com/zh-tw/library/6w1bzf9f(v=vs.94).aspx
function duckDuckGoose(players, goose) { var index = (goose - 1) % players.length; return players[index].name; } // Reference:https://www.reddit.com/r/learnjavascript/comments/61fiwv/how_do_you_loop_an_array_in_a_circle/
function sumArray(array) { // If array is empty, null or None, or if only 1 Element exists, return 0. if (!array || array.length < 3) { return 0; } else { array.sort(function(a,b) { return a-b; }); array.splice(0,1); array.splice(-1,1); return array.reduce(function(a, b) { return a + b; }); } } // At first I used array.length < 2, but it would led to an error: if there are only 2 datas in an array, it will become an empty array when use reduce method, therefore it should be array.length < 3 // put console.log(array) between your codes to check the errors // sort array https://www.denpe.com/jsbook/javascript-array-sort.html // reduce https://www.denpe.com/jsbook/javascript-array-reduce.html
function countSheeps(arrayOfSheep) { var sheeps = new Array(); if (!arrayOfSheep) { return 0; } else { for (var present of arrayOfSheep) { if ( present == true ) { sheeps.push(present); } } return sheeps.length; } }
- "Добро пожаловать! (Хэш/Объект)»
function greet(language) { var languages = new Map(); languages.set('english', 'Welcome'); languages.set('czech', 'Vitejte'); languages.set('danish', 'Velkomst'); languages.set('dutch', 'Welkom'); languages.set('estonian', 'Tere tulemast'); languages.set('finnish', 'Tervetuloa'); languages.set('flemish', 'Welgekomen'); languages.set('french', 'Bienvenue'); languages.set('german', 'Willkommen'); languages.set('irish', 'Failte'); languages.set('italian', 'Benvenuto'); languages.set('latvian', 'Gaidits'); languages.set('lithuanian', 'Laukiamas'); languages.set('polish', 'Witamy'); languages.set('spanish', 'Bienvenido'); languages.set('swedish', 'Valkommen'); languages.set('welsh', 'Croeso'); var greeting = languages.get(language) if (!greeting) { return 'Welcome'; } else { return greeting; } } // try to use json to save the datas next time
function aliasGen(firstname, lastname){ var fn = firstname.substr(0,1).toUpperCase( ); var ln = lastname.substr(0,1).toUpperCase( ); if (!firstName[fn] || !surname[ln]) { return 'Your name must start with a letter from A - Z.'; } else { return firstName[fn] + ' ' + surname[ln]; } } // different from last Kata, this Kata already set up firstName and surname database // Use .substr(start,length) to take out the first character of a string // Use .toUpperCase() in case someone forget to capitalize the first letter of their name
function keysAndValues(data){ var keys = new Array(); var values = new Array(); for (var index in data) { keys.push(index); } for (var index in data) { values.push(data[index]); } var result = new Array(); result.push(keys); result.push(values); return result; } // This Kata asked us to write sample tests, but it was weird that my test result was right but it showed error // It passed after I attempted anyway,so don't waste time bothering it :P
function generateRange(min, max, step){ var range = new Array(); do { range.push(min); min += step; } while (min < max) if (!(min > max)) { range.push(max); } return range; } // Finally finished the last Kata that AC recommended beginners to practice!! // if (!(min > max)) : I wasn't really sure if this will work but it did.