Mozilla.com

概要

古い要素を取り除きつつ新しい要素を追加することで、配列の内容を変化させます。

Array のメソッド
実装されたバージョン: JavaScript 1.2, NES 3.0

JavaScript 1.3: 取り除かれた要素を含む配列を返すようになりました。

ECMA バージョン: ECMA-262 Edition 3

構文

array.splice(index, howMany, [element1][, ..., elementN]);
array.splice(index, [howMany, [element1][, ..., elementN]]);  // SpiderMonkey 拡張

引数

index 
配列を変化させ始める要素の添え字。
howMany 
配列から取り除く古い要素の数を示す整数。howMany が 0 の場合、どの要素も取り除かれません。この場合、少なくとも 1 つの新しい要素を指定する必要があります。もし howMany 引数が何も指定されなかったら (上の 2 つ目の構文。SpiderMonkey 拡張)、index 以降の全ての要素が取り除かれます。
element1, ..., elementN 
配列に追加する要素。要素を指定しなかった場合、splice は単に配列から要素を取り除きます。

説明

もし取り除こうとする要素数と異なる数の要素を挿入するよう指定すると、関数呼び出しが終わったとき配列は初めと異なる長さになります。

splice メソッドは取り除かれた要素を含む配列を返します。要素を 1 つだけ取り除いた場合、1 要素だけの配列を返します。

後方互換性

JavaScript 1.2

要素を 1 つだけ取り除いた (howMany パラメータを 1 とした) 場合、splice メソッドは取り除かれた要素を返します。そうでなければ、このメソッドは取り除かれた要素を含む配列を返します。

例: splice を使う

以下のスクリプトは splice の使い方を例示しています。

// print 関数が定義されているとして
var myFish = ["angel", "clown", "mandarin", "surgeon"];
print("myFish: " + myFish);

var removed = myFish.splice(2, 0, "drum");
print("1 つ追加した後: " + myFish);
print("取り除いたのは: " + removed);

removed = myFish.splice(3, 1);
print("1 つ取り除いた後: " + myFish);
print("取り除いたのは: " + removed);

removed = myFish.splice(2, 1, "trumpet");
print("1 つ置き換えた後: " + myFish);
print("取り除いたのは: " + removed);

removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
print("2 つ置き換えた後: " + myFish);
print("取り除いたのは: " + removed);

このスクリプトは以下のように表示します。

myFish: angel,clown,mandarin,surgeon
1 つ追加した後: angel,clown,drum,mandarin,surgeon
取り除いたのは: 
1 つ取り除いた後: angel,clown,drum,surgeon
取り除いたのは: mandarin
1 つ置き換えた後: angel,clown,trumpet,surgeon
取り除いたのは: drum
2 つ置き換えた後: parrot,anemone,blue,trumpet,surgeon
取り除いたのは: angel,clown

このページは2007年 8月 5日, 17:02に更新されました by Mgjbot

タグ:

ファイル (0)