JavaScript 関数問題 まとめ 1~10

JavaScriptの練習として個別にアップしている投稿をまとめました。
実際のコード、詳細等は投稿したページにリンクでつないでいます。
載せているコード以外のこたえが浮かんだ方はコメントいただけると嬉しいです。
このまとめが他の方の参考になれば幸いです。

[JavaScript 関数問題 まとめ 11~20](http://qiita.com/may88seiji/items/2885b9f7559d9785357c)
[JavaScript 関数問題 まとめ 21~30](http://qiita.com/may88seiji/items/b716cd6fad5edb79d749)

##1　多次元配列の各配列の一番大きい数字を取り出す

```js
function largestOfFour(arr) {
//write your code.
  return newArray;
}
largestOfFour([[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 1001, 857, 1]]);//[27,5,39,1001] 
```

出力結果　例 

```js
([[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 1001, 857, 1]])  // [27,5,39,1001] 

([[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]) // [9, 35, 97, 1000000]
```

[コード・詳細](http://qiita.com/may88seiji/items/fe5a0f3f3bf2c6073eec)

##2 文章の最後の文字とtargetの文字の正誤判定

```js
function confirmEnding(str, target) {
//write your code.
}
confirmEnding("abcdefabc", "abc"); // true
```

出力結果　例 

```js
("Bastian", "n") //true 
("He has to give me a new name", "name") //true 
("Open sesame", "same") //true 
("Walking on water and developing software from a specification are easy if both are frozen", "specification") //false
("abcdefabc", "def"); // false
("abcdefabc", "");    // true
```

[コード・詳細](http://qiita.com/may88seiji/items/ac2878db06dad425ab65)

##3 文字列を逆に並べる

```js
function reverseString(str) {
//write your code.
 }
reverseString("hello");//olleh
```

出力結果　例

```js
reverseString("hello") // "olleh".
reverseString("Howdy") // "ydwoH".
reverseString("Greetings from Earth") // "htraE morf sgniteerG".
```

[コード・詳細](http://qiita.com/may88seiji/items/54cd61f8842bdffd5867)

##4 回文の正誤判定 

```js
function palindrome(str) {
//write your code.
}
palindrome("eye") //true
```

出力結果　例

```js
palindrome("eye") //true
palindrome("_eye") // true
palindrome("My age is 0, 0 si ega ym.")//true
palindrome("0_0 (: /-\ :) 0-0")//true
palindrome("1 eye for of 1 eye.") //false
```
[コード・詳細](http://qiita.com/may88seiji/items/4f6c28ca6f7cb04652aa)

##5 階乗をもとめる

```js
function factorialize(k) {
//write your code.
}
factorialize(5) // 120
```

出力結果　例

```js
factorialize(5) // 120
factorialize(10) // 3628800
factorialize(20) // 2432902008176640000
factorialize(0) // 1
```

[コード・詳細](http://qiita.com/may88seiji/items/ba8dc3ea6cb92e2b4241)

##6 文字列を指定回数くりかえす

```js
function repeatStringNumTimes(str, num) {
//write your code.
}
repeatStringNumTimes("abc", 3) //"abcabcabc"
```

出力結果　例

```js
repeatStringNumTimes("abc", 4) // "abcabcabcabc"
repeatStringNumTimes("abc", 1) // "abc"
repeatStringNumTimes("*", 8) // "********"
repeatStringNumTimes("abc", -2) // ""
```

[コード・詳細](http://qiita.com/may88seiji/items/e7353fb0ef34660ff414)

##7　一番文字数の多い単語を見つける

```js
function findLongestWord(s) {
//write your code.
 }
findLongestWord("The quick brown fox jumped over the lazy dog");
```

出力結果　例

```js
("May the force be with you")// 5
("Google do a barrel roll") //6
("What is the average airspeed velocity of an unladen swallow")// 8
("What if we try a super-long word such as otorhinolaryngology")//19
```


[コード・詳細](http://qiita.com/may88seiji/items/5f921d6e23de28e994b9)

##8 文章の切り捨て
・文章(第一引数)が指定された数（第二引数）より長い場合、指定された数で文字を切り捨てる。
・切り捨てた文章には"..."を末尾に付け足す。("..."は文字数に含まれる)
切り捨てる文字が3以下の場合はそのまま"..."を付け足す。

```js
function truncateString(str, num) {
//write your code.
}
```

出力結果　例

```js
("A-tisket a-tasket A green and yellow basket", 11) // "A-tisket..."
("Peter Piper picked a peck of pickled peppers", 14) //"Peter Piper..."
("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length) // "A-tisket a-tasket A green and yellow basket"
("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length + 2)// "A-tisket a-tasket A green and yellow basket"
("A-", 1)//"A..."
("Absolutely Longer", 2)//"Ab..."
```

[コード・詳細](http://qiita.com/may88seiji/items/de0aebe51c05b9deb6f6)

##9 配列を二次元配列のグループにわける

```js
function chunkArrayInGroups(arr, size) {
//write your code.
}
([0, 1, 2, 3, 4, 5], 3)   // [[0, 1, 2], [3, 4, 5]]
```

出力結果　例

```js
(["a", "b", "c", "d"], 2) // [["a", "b"], ["c", "d"]]
([0, 1, 2, 3, 4, 5], 3)   // [[0, 1, 2], [3, 4, 5]]
([0, 1, 2, 3, 4, 5], 2)   // [[0, 1], [2, 3], [4, 5]]
([0, 1, 2, 3, 4, 5], 4)   // [[0, 1, 2, 3], [4, 5]]
```

[コード・詳細](http://qiita.com/may88seiji/items/7721d5d6135378a41805)

##10 配列の第一要素に第二要素が含まれているか正誤判定する

```js
function mutation(arr) {
//write your code.
}
mutation(["hello", "hey"]);
```

出力結果　例

```js
(["Mary", "Aarmy"]) // true
(["Alien", "line"]) // true
(["floor", "for"])  // true
(["hello", "neo"])  // false
(["voodoo", "no"])  // false
```

[コード・詳細](http://qiita.com/may88seiji/items/3239d7387ae71b1d9f27)