あけましておめでとうございます。
2020年最初の記事は、配列の一部を取得するメソッドです。
配列の一部を取得するメソッドは
sliceとspliceがありますね。
似ているようで異なるもの。
2つのメソッドの違いを紹介します。
slice
使い方は、.slice(開始,終了)とします。
終了を指定しなかった場合、末尾まで取得します。
では、サンプルです。
var a1 = [1,2,3,4,5,6]; var a2 = a1.slice(2,4); var a3 = a1.slice(2); console.log('a1 = ' + a1); console.log('a2 = ' + a2); console.log('a3 = ' + a3);
結果は以下。
a1 = 1,2,3,4,5,6 a2 = 3,4 a3 = 3,4,5,6
元の配列(a1)を変えることなく、指定した範囲を取得しています。
ちなみに、文字列にも使えます。
var s1 = 'abcdefg'; var s2 = s1.slice(0,3); console.log('s1 = ' + s1); console.log('s2 = ' + s2);
結果は以下。
s1 = abcdefg s2 = abc
文字列も同様に元の文字列を変更することなく
指定した範囲を取得できていますね。
splice
使い方は.splice(開始,要素数)とします。
要素数を指定しなかった場合、末尾までとなります。
では、サンプル。
var b1 = [1,2,3,4,5,6]; var b2 = b1.splice(2,3); console.log('b1 = ' + b1); console.log('b2 = ' + b2);
結果は以下。
b1 = 1,2,6 b2 = 3,4,5
なんと、元の配列も変わっています。
spliceは、元の配列から指定した部分を取り出すのです。
なので、分割したいときなどに使用するメソッドです。
こちらは文字列には使用できません。
以上です。
似ているけど元の配列への影響が異なるので
使用する際は適したものを使用しなければいけないですね。