配列の値を削除または置き換える
配列の値を削除または置き換えるには、array.splice
メソッドを使用します。
- ※ 元となる配列を変更します。
- ※ 変更後の配列のインデックス番号は再度割り当てられます(維持しません)。
構文
var result = array.splice(index[, howMany, value...])
引数
型 | 説明 | ||
---|---|---|---|
第一引数 必須 | index | number | 開始位置(インデックス番号) 負の値を指定すると後ろからの位置になる |
第二引数 | howMany | number | 削除数 省略すると第一引数以降が削除される |
第三引数以降 | value | Any | 削除した箇所に置き換える値 第二引数が0以下の場合削除されず第一引数の箇所に挿入される |
戻り値
削除された後の配列の数を返します。
サンプルコード
JavaScript
var foo = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
// 削除のみ
foo.splice(2); // インデックス番号2以降削除('c', 'd', 'e', 'f', 'g'が削除される)
// foo.splice(2, 1); // インデックス番号2から1つ削除('c'が削除される)
// foo.splice(2, 2); // インデックス番号2から2つ削除('c'と'd'が削除される)
// foo.splice(-3, 1); // 最後から3つ目から1つ削除('e'が削除される)
// foo.splice(2, foo.length - 3); // インデックス番号2から最後から2つ目まで削除('c', 'd', 'e', 'f'が削除される)
// 置き換え
// foo.splice(2, 1, 'h', 'i'); // インデックス番号2から1つ削除し置き換える('c'が削除され'h'と'i'が挿入される)
// foo.splice(2, foo.length - 2, 'h', 'i'); // インデックス番号2から最後まで削除し置き換える('c', 'd', 'e', 'f', 'g'が削除され'h'と'i'が挿入される)
// foo.splice(2, 0, 'h', 'i'); // インデックス番号2の位置に挿入される('c'の前に'h'と'i'が挿入される)
alert(foo);