■この訂正は初版のものです。
p.110 のsplice()の説明が間違っていました。内容を訂正しお詫びします。間違っていたのは、第2引数で指定する値がendIndexではなく、deleteCountである点です。さらに第3引数以降で値を挿入できます。
splice()は次のようなメソッドです。p.108のslice()とスペルが似ているので注意です。また、インデックス番号は0から数えるので、「1番目」とは2個目の値を指しています。番目を「インデックス番号」と読み替えてください。
訂正文:
抜き取る際に値を複製せずに元の配列から値を削除します。また、値を抜き取った位置に新しい値を代わりに挿入することもできます。これにより、splice()は値を抜き出すだけでなく、配列の値の削除や置換の目的でも利用できます。
splice()の書式は次のとおりです。第1引数startIndexは抜き取り開始位置のインデックス番号、第2引数のdeleteCountでは抜き取る値の個数を指定します。入れ替える値は第3引数以降にカンマで区切って指定します。
書式:
splice(startIndex:int, deleteCount:uint, ... values):Array
次の例では配列stockListのインデックス番号1から4個の値を抜き取って新しい配列pickUpListを作成します。元の配列stockListからは抜き取られた値が削除されています。
[:script:]配列のインデックス番号1から4個の値を抜き取る
[:script:]配列のインデックス番号3から最後までの値を抜き出す
[:script:]配列の末尾から4個を抜き出す
追加サンプル:
値を入れ替えるサンプルがないので、ここに新しいサンプルを追加しましょう!
[:script:]配列のインデックス番号2から3個の値を抜きとり、代わりに"X"、"Y"を挿入する。
p.110 のsplice()の説明が間違っていました。内容を訂正しお詫びします。間違っていたのは、第2引数で指定する値がendIndexではなく、deleteCountである点です。さらに第3引数以降で値を挿入できます。
splice()は次のようなメソッドです。p.108のslice()とスペルが似ているので注意です。また、インデックス番号は0から数えるので、「1番目」とは2個目の値を指しています。番目を「インデックス番号」と読み替えてください。
訂正文:
抜き取る際に値を複製せずに元の配列から値を削除します。また、値を抜き取った位置に新しい値を代わりに挿入することもできます。これにより、splice()は値を抜き出すだけでなく、配列の値の削除や置換の目的でも利用できます。
splice()の書式は次のとおりです。第1引数startIndexは抜き取り開始位置のインデックス番号、第2引数のdeleteCountでは抜き取る値の個数を指定します。入れ替える値は第3引数以降にカンマで区切って指定します。
書式:
splice(startIndex:int, deleteCount:uint, ... values):Array
次の例では配列stockListのインデックス番号1から4個の値を抜き取って新しい配列pickUpListを作成します。元の配列stockListからは抜き取られた値が削除されています。
[:script:]配列のインデックス番号1から4個の値を抜き取る
var stockList:Array = ["a","b","c","d","e","f"]; var pickUpList:Array = stockList.splice(1,4); //取り出した配列 trace(pickUpList);//出力:b,c,d,e //元の配列からは値が抜き取られて削除されている trace(stockList);//出力:a,fsplice()は第2引数以降を省略できます。splice(3)のように引数を省略するとインデックス番号3から最後までの値を抜き出します。
[:script:]配列のインデックス番号3から最後までの値を抜き出す
var stockList:Array=["a","b","c","d","e","f"]; var pickUpList:Array=stockList.splice(3); trace(pickUpList);//出力:d,e,f trace(stockList);//出力:a,b,c引数をマイナスにすると末尾から個数を数えて取り出します。次の例は末尾から4個の値を取り出した配列を作ります。元の配列のstockListからは末尾の4個が削除されています。
[:script:]配列の末尾から4個を抜き出す
var stockList:Array=["a","b","c","d","e","f"]; var pickUpList:Array=stockList.splice(-4); trace(pickUpList);//出力:c,d,e,f trace(stockList);//出力:a,b
追加サンプル:
値を入れ替えるサンプルがないので、ここに新しいサンプルを追加しましょう!
[:script:]配列のインデックス番号2から3個の値を抜きとり、代わりに"X"、"Y"を挿入する。
var stockList:Array=["a","b","c","d","e","f"]; var pickUpList:Array=stockList.splice(2,3,"X","Y"); trace(pickUpList);//出力:c,d,e trace(stockList);//出力:a,b,X,Y,f