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は、スタート位置とエンド位置を
決めて要素を取得できます。
※エンド位置は含まない
var ary = ["佐藤", "鈴木", "高橋", "田中"]
console.log("slice : " + ary.slice(1,3))
slice(1,3) : 鈴木,高橋
slice( start )
sliceは、スタート位置のみの指定でも問題ありません。
スタート位置のみだと、指定した位置から配列が終わるまで取得します。
var ary = ["佐藤", "鈴木", "高橋", "田中"]
console.log("slice(1) : " + ary.slice(1))
slice(1) : 鈴木,高橋,田中
slice(指定なし)
sliceの指定なしは、配列全てを取得します。
var ary = ["佐藤", "鈴木", "高橋", "田中"]
console.log("slice() : " + ary.slice())
slice() : 佐藤,鈴木,高橋,田中
slice(マイナスの値)
slice(マイナスの値)は、末尾からマイナス値だけの値を取得します。
var ary = ["佐藤", "鈴木", "高橋", "田中"]
console.log("slice(-2) : " + ary.slice(-2))
slice(-2) : 高橋,田中
slice( start , endがマイナス値 )
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 )
var ary = ["総統", "吉田くん", "フィリップ"]
var add_character = ["ぼさつとうげ", "デラックスファイター", "大家さん"]
console.log("削除要素 : " + ary.splice( 1, 2, add_character))
console.log("結果 : " + ary)
削除要素 : 吉田くん,フィリップ
結果 : 総統,ぼさつとうげ,デラックスファイター,大家さん
slice( start )
splice(スタート位置のみ)の場合は、指定位置からそれ以降の配列を全て取り除きます。
var ary = ["総統", "吉田くん", "フィリップ", "レオナルド博士", "ぼさつとうげ"]
console.log("削除要素 : " + ary.splice(2))
console.log("結果 : " + ary)
削除要素 : フィリップ,レオナルド博士,ぼさつとうげ
結果 : 総統,吉田くん
slice( start , count0 , item )
splice(スタート位置,削除0)の場合は、取り除く要素はなくスタート位置の手前に指定要素を挿入します。
var ary = ["総統", "吉田くん", "フィリップ"]
console.log("削除要素 : " + ary.splice( 2, 0, 'レオナルド博士'))
console.log("結果 : " + ary)
削除要素 :
結果 : 総統,吉田くん,レオナルド博士,フィリップ
slice( start , count )
splice(スタート位置 , 削除個数)の場合は、指定位置から個数分 要素削除になります。
var ary = ["総統", "吉田くん", "フィリップ", "レオナルド博士", "ぼさつとうげ"]
console.log("削除要素 : " + ary.splice( 2, 2))
console.log("結果 : " + ary)
削除要素 : フィリップ,レオナルド博士
結果 : 総統,吉田くん,ぼさつとうげ
slice( startがマイナス値 , count )
splice(スタート位置がマイナス値 , 削除個数)の場合は、末尾から数えた位置から個数分 要素削除になります。
var ary = ["総統", "吉田くん", "フィリップ", "レオナルド博士", "ぼさつとうげ"]
console.log("削除要素 : " + ary.splice( -3, 2))
console.log("結果 : " + ary)
削除要素 : フィリップ,レオナルド博士
結果 : 総統,吉田くん,ぼさつとうげ