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.