slice・splice

記事の内容

slice

sliceメソッドは、位置を指定して新たな配列を作成しますが、元の配列には影響しません。
記述方法は以下のようになります。

記法

新しい配列 = 配列.slice( start , end )
 start : 開始位置
 end : 終了位置(最終位置は含まない)

var ary = ["A", "B", "C", "D", "E"]

console.log("slice : " + ary.slice(1,3))
console.log("ary : " + ary)
出力結果

slice : B,C
ary : A,B,C,D,E

slice( start , end )

sliceは、スタート位置とエンド位置を
決めて要素を取得できます。
※エンド位置は含まない

sliceの説明図
var ary = ["佐藤", "鈴木", "高橋", "田中"]

console.log("slice : " + ary.slice(1,3))
出力結果

slice(1,3) : 鈴木,高橋

slice( start )

sliceは、スタート位置のみの指定でも問題ありません。
スタート位置のみだと、指定した位置から配列が終わるまで取得します。

slice(start)の説明図
var ary = ["佐藤", "鈴木", "高橋", "田中"]

console.log("slice(1) : " + ary.slice(1))
出力結果

slice(1) : 鈴木,高橋,田中

slice(指定なし)

sliceの指定なしは、配列全てを取得します。

slice(指定なし)の説明図
var ary = ["佐藤", "鈴木", "高橋", "田中"]

console.log("slice() : " + ary.slice())
出力結果

slice() : 佐藤,鈴木,高橋,田中

slice(マイナスの値)

slice(マイナスの値)は、末尾からマイナス値だけの値を取得します。

slice(マイナス値)の説明図
var ary = ["佐藤", "鈴木", "高橋", "田中"]

console.log("slice(-2) : " + ary.slice(-2))
出力結果

slice(-2) : 高橋,田中

slice( start , endがマイナス値 )

slice(スタート位置,エンド位置がマイナス値)は、スタート位置は通常通りでエンド位置が末尾数え値を取得します。
※エンド位置は含まない

slice(スタート位置,マイナス値)の説明図
var ary = ["佐藤", "鈴木", "高橋", "田中"]

console.log("slice(1,-1) : " + ary.slice(1,-1))
出力結果

slice(1,-1) : 鈴木,高橋

splice

spliceは、スタート位置と削除個数・挿入する要素(複数可)を決めてます。
また、元の配列でも要素は削除されます。

記法

新しい配列 = 配列.splice( start , count , item(複数可) )
 start : 開始位置
 count : 削除個数
 item : 挿入要素

var ary = ["A", "B", "C", "D", "E"]

console.log("splice : " + ary.splice(1,3))
console.log("ary : " + ary)
出力結果

splice : B,C,D
ary : A,E

slice( start , count , item )

spliceの説明図
var ary = ["総統", "吉田くん", "フィリップ"]
var add_character = ["ぼさつとうげ", "デラックスファイター", "大家さん"]

console.log("削除要素 : " + ary.splice( 1, 2, add_character))
console.log("結果 : " + ary)
出力結果

削除要素 : 吉田くん,フィリップ
結果 : 総統,ぼさつとうげ,デラックスファイター,大家さん

slice( start )

splice(スタート位置のみ)の場合は、指定位置からそれ以降の配列を全て取り除きます。

splice(スタート位置のみ)の説明図
var ary = ["総統", "吉田くん", "フィリップ", "レオナルド博士", "ぼさつとうげ"]

console.log("削除要素 : " + ary.splice(2))
console.log("結果 : " + ary)
出力結果

削除要素 : フィリップ,レオナルド博士,ぼさつとうげ
結果 : 総統,吉田くん

slice( start , count0 , item )

splice(スタート位置,削除0)の場合は、取り除く要素はなくスタート位置の手前に指定要素を挿入します。

splice(スタート位置,エンド位置が0,指定)の説明図
var ary = ["総統", "吉田くん", "フィリップ"]

console.log("削除要素 : " + ary.splice( 2, 0, 'レオナルド博士'))
console.log("結果 : " + ary)
出力結果

削除要素 :
結果 : 総統,吉田くん,レオナルド博士,フィリップ

slice( start , count )

splice(スタート位置 , 削除個数)の場合は、指定位置から個数分 要素削除になります。

splice(スタート位置 , 削除個数)の説明図
var ary = ["総統", "吉田くん", "フィリップ", "レオナルド博士", "ぼさつとうげ"]

console.log("削除要素 : " + ary.splice( 2, 2))
console.log("結果 : " + ary)
出力結果

削除要素 : フィリップ,レオナルド博士
結果 : 総統,吉田くん,ぼさつとうげ

slice( startがマイナス値 , count )

splice(スタート位置がマイナス値 , 削除個数)の場合は、末尾から数えた位置から個数分 要素削除になります。

splice(スタート位置がマイナス値 , 削除個数)の説明図
var ary = ["総統", "吉田くん", "フィリップ", "レオナルド博士", "ぼさつとうげ"]

console.log("削除要素 : " + ary.splice( -3, 2))
console.log("結果 : " + ary)
出力結果

削除要素 : フィリップ,レオナルド博士
結果 : 総統,吉田くん,ぼさつとうげ

記事の内容
閉じる