「めそっど」って何デスカ? って人へ
すなわちメソッドとは
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]
2次元配列の値を数値化したい時は、
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...