javascript　~ 便利なメソッドとか ~

# 「めそっど」って何デスカ? って人へ
すなわちメソッドとは
>JavaScriptにおける「メソッド」とは、普通の「関数」と同じなのですがオブジェクトの中に定義されるもの。

らしい。
細かいことはさておき、
その中でも過去に一度でも使った強者メソッドをまとめた。

# とりあえず絶対値が欲しい時　.Math.abs( )
```
Math.abs('-1');     // 1
Math.abs(-2);       // 2
Math.abs(null);     // 0
Math.abs('');       // 0
Math.abs([]);       // 0
Math.abs([2]);      // 2
Math.abs([1,2]);    // NaN
Math.abs({});       // NaN
Math.abs('string'); // NaN
Math.abs();         // NaN
```


# 配列の値を全て足したい時 .reduce( )
```
var array = [10,40,50,30,63];

//足し算
変数 = array.reduce((a,x) => a+=x,0);

console.log(変数) => 193
```

# 配列の値から最小値を求める時 .reduce( )
```
let array = [1,2,3,4,5,6,7,8];

//条件演算子の場合
console.log(array.reduce((a,b)=>a<b?a:b));

//Math.minの場合
console.log(array.reduce((a,b)=>Math.min(a,b)));
```

# 配列の値から最大値を求める場合
```
let array = [1,2,3,4,5,6,7,8];

//条件演算子の場合
console.log(array.reduce((a,b)=>a>b?a:b));

//Math.minの場合
console.log(array.reduce((a,b)=>Math.max(a,b)));
```
# reduceを使用して2次元配列を1次元配列へ変換
```
const arr = [
  [1, 2, 3, 4],
  [5, 6, 7, 8],
  [9,10,11,12],
];

const list = arr.reduce((pre,current) => {pre.push(...current);return pre},[]);

console.log(list) => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
```

# 配列の値を全て数値へ変換したい時 .map( )
```
var array = ["10","40","50"];

変数 = arr.map(a => +a);

console.log(変数) => [10, 40, 50]
```
# ２次元配列の値を数値化したい時は、
```
var arr =[ [ '1', '3' ], [ '2', '1' ], [ '2', '3' ] ]

var arr1 = arr.map(function(val){
  return val.map(function(a){return +a;})
})

console.log(arr1) => [ [ 1, 3 ], [ 2, 1 ], [ 2, 3 ] ]
```
# ちなみにこんな小技も・・・
```
var hensu = "1"
console.log(+hensu) => 1 // + を付けても単純な文字列なら数値にできる。
```
# 偶数のみ取得したい時 .filter( )
```
var arr = [1,5,7,3,4,6,13,10];

変数 = arr.filter(n => n % 2 == 0);

console.log(変数) => [ 4, 6, 10 ]

```
# 配列の値を降順にしたい時 .sort( )
```
var arr = [80, 40, 120];

arr.sort(function(a, b){
    return a - b;
});

=> [40, 80, 120]
```
# ちなみに昇順の場合は・・・。
```
var arr = [80, 40, 120];

arr.sort(function(a, b){
    return b - a;
});

=> [40, 80, 120]
```
# 配列を結合したい時は .concat( )
```
var arr1 = ['a', 'b'];
var arr2 = ['c', 'd'];

var arr = arr1.concat(arr2);

console.log(array); => ['a', 'b', 'c', 'd']
```
# 先頭に追加 .unshift( )
```
var arr = ['b', 'c'];

arr.unshift('a');

console.log(arr); => ['a', 'b', 'c']
```
# ケツに追加 .push( )
```
var arr = ['a', 'b'];

arr.push('c');

console.log(arr); => ['a', 'b', 'c']
```
# 配列の後ろからN個の要素を取り出す .slice( );
```
var arr = [80, 40, 120];

arr = arr.slice(-1) //後ろから1つの場合

console.log(arr); => [120]
```
# ちなみ二次元配列とかにも使えるよ。
```
var arr = [ '11 14 16 10', 
            '12 15 17 10', 
            '13 11 14 11', 
            '12 10 13 8', 
            '11 13 14 10' ]

arr = arr.slice(1)

console.log(arr); =>  ["12 15 17 10",
                       "13 11 14 11", 
                        "12 10 13 8", 
                        "11 13 14 10"]
```
#っていうか二次元配列の作り方はこうだよ。
```
var nijigenHairetsu = [] //こいつの中に作るよ。

var arr = [ '11 14 16 10', 
            '12 15 17 10', 
            '13 11 14 11', 
            '12 10 13 8', 
            '11 13 14 10' ]

for(let i = 0; i < arr.length;i++){ 
     arr2.push(arr[i].split(' '))
   }
```
# 小数点以下の切り捨てとか切り上げとか。
```
var hensu1 = 500 
var hensu2 = 180

console.log(Math.floor(hensu1 / hensu2)) => 2
console.log(Math.ceil(hensu1 / hensu2)) => 3
```

# 配列の中の値から最大値,最小値を出力したい
```
var a = [3, 1, 4, 1, 5, 9, 2, 6];
Math.max.apply(null, a);  => 9
Math.min.apply(null, a);  => → 1
```

# 配列の中から任意の値を検索
```
var arr = ['田中', '岸本', '藤井'];
 
var result = arr.indexOf( '岸本' );
 
console.log( result ); => 1
```

# 配列の中の値から文字列中の空白文字(スペースやタブなど)を一括削除
```
var arr = ['田 中', '岸 本', '藤 井'];
arr = arr.map(a => a.replace(/\s+/g, "")) => ['田中', '岸本', '藤井']
```
# 任意の値の数を保持した配列を生成したい時
```
var arr = [...Array(3).fill(0)];
console.log(arr) => [0, 0, 0]
```
**TO BO CONTINUE...**