JavaScriptのsliceメソッドをマスター!10選の使い方とサンプルコード

JavaScriptのsliceメソッドをマスターJS
この記事は約7分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、JavaScriptのsliceメソッドを使ってデータを簡単に抽出や操作ができるようになります。

初心者の方でも分かりやすいように、sliceメソッドの基本から応用例まで詳しく解説します。

また、実践的なサンプルコードも10個紹介しているので、ぜひ参考にしてください。

●JavaScriptのsliceメソッドとは

sliceメソッドは、JavaScriptで配列や文字列から一部を抽出するためのメソッドです。

このメソッドを使うことで、データの一部を簡単に取り出したり、加工したりすることができます。

○sliceメソッドの基本

sliceメソッドは、次のように使います。

配列の場合:配列.slice(開始インデックス, 終了インデックス)
文字列の場合:文字列.slice(開始インデックス, 終了インデックス)

開始インデックスは取り出す範囲の最初のインデックスで、終了インデックスは取り出す範囲の最後のインデックスより1つ大きい値です。

終了インデックスは省略可能で、省略した場合は最後までの範囲が対象となります。

●sliceメソッドの使い方

さまざまな使い方がありますが、ここでは基本的な使い方をいくつか紹介します。

○サンプルコード1:配列から一部を抽出する

このコードでは、配列から一部を抽出する方法を紹介しています。

この例では、2番目から4番目の要素を抽出しています。

const array = [0, 1, 2, 3, 4, 5];
const newArray = array.slice(1, 4);
console.log(newArray); // [1, 2, 3]

○サンプルコード2:文字列から一部を抽出する

このコードでは、文字列から一部を抽出する方法を紹介しています。

この例では、2文字目から4文字目までを抽出しています。

const str = 'JavaScript';
const newStr = str.slice(1, 4);
console.log(newStr); // 'ava'

○サンプルコード3:配列をコピーする

このコードでは、配列の全要素をコピーした新しい配列を作成する方法を紹介しています。

この例では、sliceメソッドを引数なしで使用し、元の配列の要素を全て含む新しい配列を生成しています。

const array = [0, 1, 2, 3, 4, 5];
const newArray = array.slice();
console.log(newArray); // [0, 1, 2, 3, 4, 5]

○サンプルコード4:負のインデックスを使った抽出

このコードでは、負のインデックスを使用して配列から要素を抽出する方法を紹介しています。

この例では、後ろから2番目の要素から最後の要素までを抽出しています。

const array = [0, 1, 2, 3, 4, 5];
const newArray = array.slice(-2);
console.log(newArray); // [4, 5]

●sliceメソッドの応用例

次に、sliceメソッドの応用例を紹介します。

○サンプルコード5:配列の一部を置換する

このコードでは、配列の一部を別の配列で置換する方法を紹介しています。

この例では、2番目から3番目の要素を別の配列で置き換えています。

const array = [0, 1, 2, 3, 4, 5];
const replaceArray = [9, 9];
const newArray = array.slice(0, 1).concat(replaceArray).concat(array.slice(4));
console.log(newArray); // [0, 9, 9, 4, 5]

○サンプルコード6:配列を逆順にする

このコードでは、配列を逆順に並べ替える方法を紹介しています。

この例では、配列の要素を逆順にした新しい配列を作成しています。

const array = [0, 1, 2, 3, 4, 5];
const newArray = array.slice().reverse();
console.log(newArray); // [5, 4, 3, 2, 1, 0]

○サンプルコード7:文字列の一部を置換する

このコードでは、文字列の一部を別の文字列で置換する方法を紹介しています。

この例では、3文字目から5文字目までを別の文字列で置き換えています。

const str = 'JavaScript';
const replaceStr = '###';
const newStr = str.slice(0, 2) + replaceStr + str.slice(5);
console.log(newStr); // 'Ja###ript'

○サンプルコード8:連続した要素を削除する

このコードでは、配列から連続した要素を削除する方法を紹介しています。

この例では、2番目から4番目までの要素を削除しています。

const array = [0, 1, 2, 3, 4, 5];
const newArray = array.slice(0, 1).concat(array.slice(4));
console.log(newArray); // [0, 4, 5]

○サンプルコード9:特定の条件を満たす要素の抽出

このコードでは、特定の条件を満たす要素を抽出する方法を紹介しています。

この例では、偶数の要素だけを抽出しています。

const array = [0, 1, 2, 3, 4, 5];
const newArray = array.filter((element) => element % 2 === 0);
console.log(newArray); // [0, 2, 4]

○サンプルコード10:多次元配列から部分配列を抽出する

このコードでは、多次元配列から部分配列を抽出する方法を紹介しています。

この例では、2行目から3行目までと、1列目から2列目までの部分配列を抽出しています。

const multiArray = [
  [0, 1, 2],
  [3, 4, 5],
  [6, 7, 8],
  [9, 10, 11]
];
const newArray = multiArray.slice(1, 3).map((row) => row.slice(0, 2));
console.log(newArray); // [[3, 4], [6, 7]]

●注意点と対処法

sliceメソッドは、元の配列や文字列を変更せずに新しい配列や文字列を作成します。

ただし、元の配列が多次元配列の場合、浅いコピーが行われるため、元の配列の中の配列が変更されると、新しい配列の中の配列も変更される点に注意が必要です。

●カスタマイズ方法

sliceメソッドは基本的な機能であるため、独自の処理を追加する場合は、他のメソッドと組み合わせることでカスタマイズが可能です。

例えば、mapやfilterメソッドと組み合わせることで、さまざまなデータ操作ができます。

まとめ

この記事では、JavaScriptのsliceメソッドを使ったデータ抽出や操作の方法について、基本から応用まで詳しく解説しました。

sliceメソッドは非常に汎用性が高く、配列や文字列の部分的な抽出やコピーなど、さまざまな場面で活用できます。

また、他のメソッドと組み合わせることで、より複雑なデータ操作も可能です。

紹介したサンプルコードを参考にして、sliceメソッドを使いこなせるようになることで、効率的なプログラム開発ができるようになるでしょう。

しかし、多次元配列の場合には浅いコピーが行われる点に注意が必要です。

適切なメソッドを使い分けることで、より堅牢なコードを実現できます。