配列を操作するメソッド

2024/03/19に公開

配列について学習していた時、メソッドがたくさん出てきたのでまとめることにしました。

push

push: 配列の後ろに要素を追加する。このとき、はじめの配列は書き換えられる。配列.push(値)は、配列の要素数を返す。

const x:number[]=[1,2,6,7,9]
let y=x.push(10)
console.log(x)   // [1,2,6,7,9,10]
console.log(y)   // 6

pop

pop: 配列の後ろから要素をとってきて、その要素を返す。このとき、はじめの配列は書き換えられる。

const x:string[]=["a","b","c","g"];
let y=x.pop();
console.log(x);  //["a","b","c"];
console.log(y);  //"g"

shift

shift: 配列の先頭から要素をとってきて、その要素を返す。このとき、はじめの配列は書き換えられる。

const x:string[]=["a","b","c","g"];
let y=x.shift();
console.log(x);  //["b","c","g"];
console.log(y);  //"a"

unshift

unshift:配列の先頭に1つ以上の要素を追加する。このとき、はじめの配列は書き換えられる。配列.unsihft(値)は、配列の要素数を返す。

const x:string[]=["a","b","c","g"];
let y=x.unshift("h","j");
console.log(x);  //['h', 'j', 'a', 'b', 'c', 'g']
console.log(y);  //6

slice

slice:配列で指定した範囲の配列を返す。このとき、はじめの配列は書き換えられない。

const x:string[]=["a","b","c","g"];
let y=x.slice(0,2)
console.log(x);  //['a', 'b', 'c', 'g']
console.log(y);  //['a', 'b']

join

join:指定した文字で配列の要素間をつないで文字を作る。このとき、はじめの配列は書き換えられない。

const x:string[]=["a","b","c","g"];
let y=x.join("と")
console.log(x);  //['a', 'b', 'c', 'g']
console.log(y);  //aとbとcとg

reverse

reverse:配列の中身の順番を逆にする。このとき、はじめの配列は書き換えられる。

const x:string[]=["a","b","c","g"];
let y=x.reverse();
console.log(x);  // ['g', 'c', 'b', 'a']
console.log(y);  // ['g', 'c', 'b', 'a']

fill

fill:指定した範囲の配列の要素を指定した値に変更する。このとき、はじめの配列は書き換えられる。

const x:string[]=["a","b","c","g"];
let y=x.fill("あ",0,3);
console.log(x);  //  ['あ', 'あ', 'あ', 'g']
console.log(y);  //  ['あ', 'あ', 'あ', 'g']

includes

includes:指定した要素が配列にあるか調べる。このとき、はじめの配列は書き換えられない。

const x:string[]=["a","b","c","g"];
let y:boolean=x.includes("b")
console.log(x);  // ['a', 'b', 'c', 'g']
console.log(y);  //  true

some

some:関数を使用して、指定した要素が1つ以上あるのか調べる。このとき、はじめの配列は書き換えられない。

const x:number[]=[43,22,64,26,90];
let y:boolean=x.some((e)=>e>=50);
console.log(x);  // [43, 22, 64, 26, 90]
console.log(y);  //  true

forEach

forEach:配列の書く要素に指定した関数を実行する。

const x:number[]=[43,22,64,26,90];
let total:number=0;
x.forEach((e)=>total+=e);
console.log(total);//245

find

find:指定した条件を満たす値を配列の中から探し、はじめの要素を返す。このとき、はじめの配列は書き換えられない。

const x:number[]=[43,22,64,26,90];
let y=x.find((e)=>e===64);
console.log(x);  // [43, 22, 64, 26, 90]
console.log(y);  //  64

findIndex

findIndex:指定した条件を満たす値を配列の中から探し、はじめの要素の位置を返す。このとき、はじめの配列は書き換えられない。

const x:number[]=[43,22,64,26,90];
let y=x.findIndex((e)=>e===64);
console.log(x);  // [43, 22, 64, 26, 90]
console.log(y);  //  2

filter

filter:指定した条件を満たす値を配列の中から探し、その値で新たな配列を作成して返す。このとき、はじめの配列は書き換えられない。

const x:number[]=[43,22,64,26,90];
let y=x.filter((e)=>e>=64);
console.log(x);  // [43, 22, 64, 26, 90]
console.log(y);  //  [64,90]

sort

sort:指定した関数により配列の順番を変える。このとき、はじめの配列は書き換えられる。b-aは大きい順、a-bは小さい順

const x:number[]=[43,22,64,26,90];
const z:number[]=[32,66,11,88,31];
let y=x.sort((a,b)=>b-a);
console.log(x);  // [90, 64, 43, 26, 22]
console.log(y);  //  [90, 64, 43, 26, 22]
z.sort((a,b)=>a-b);
console.log(z);

map

map:配列の書く要素に対して関数を実行して、新たな配列を返す。このとき、はじめの配列は書き換えられない。

const x:number[]=[43,22,64,26,90];
let y=x.map((e)=>e+10);
console.log(x);  [43, 22, 64, 26, 90]
console.log(y);  [53, 32, 74, 36, 100]

indexof

indexOf:引数で指定した要素と一致する最初の要素を返す。このとき、はじめの配列は書き換えられない。

const x:number[]=[43,22,64,26,90];
let y=x.indexOf(26);
console.log(x);
console.log(y);

Discussion