ObservableArray: splice()
対象の ObservableArray
の指定の位置から要素を削除し、また新たな要素を挿入します。
構文
observableArray.splice(startIndex, deleteCount, insertCount) => ObservableObject[]
引数
-
startIndex
:number
対象の
ObservableArray
の要素の削除や挿入を行う位置を示す整数です。また要素の削除は要素の挿入より先に行われます。startIndex
が負の値を持つ場合、代わりに末尾の要素を 1 番目として末尾から-startIndex
番目の位置から削除や挿入が行われます(ただし、削除および挿入の順序は逆向きにならず、配列の末尾へ向かって行われます)。startIndex
がNaN
であるか-startIndex
が配列の要素数を超える場合、代わりに0
が使用されます。-startIndex
が配列の長さを超える場合、代わりに末尾の要素の添え字に1
を足したものが使用されます(これは数値としては配列の長さに一致します)。startIndex
が整数でない場合、前述の変換を行った上で、小数点以下を切り捨てた整数を代わりに使用します。 -
deleteCount
:number
対象の
ObservableArray
から削除する要素の個数を示す整数です。要素の削除はstartIndex
からstartIndex + deleteCount - 1
までのdeleteCount
個に対し行われます。特に、deleteCount
が0
なら要素の削除は行われません。deleteCount
がNaN
または負なら代わりに0
が使用されます。startIndex
以降の要素の個数を超える値をdeleteCount
が持つ場合、代わりにstartIndex
以降の要素の個数に等しい値が使用されます。deleteCount
が整数でない場合、前述の変換を行った上で、小数点以下を切り捨てた整数を代わりに使用します。 -
insertCount
:number
対象の
ObservableArray
に挿入する新しい要素の個数を示す整数です。要素の挿入はstartIndex
の位置で行われ、startIndex
からstartIndex + insertCount - 1
までが新たに生成された要素となります。特に、insertCount
が0
なら要素の挿入は行われません。insertCount
がNaN
または負なら代わりに0
が使用されます。insertCount
が整数でない場合、前述の変換を行った上で、小数点以下を切り捨てた整数を代わりに使用します。
返値: ObservableObject[]
対象の ObservableArray
から削除された ObservableObject
の配列です。引数の変換の結果、deleteCount
が 0
なら空の配列が返ります。
解説
対象の ObservableArray
の指定の位置から要素を削除し、また新たな要素を挿入します。
- この関数により、対象の
ObservableArray
と同期しているバインディングターゲットに対してそれらが実装するsyncComponents()
が呼び出されます。syncComponents()
は要素の削除および挿入操作(SPLICE
)に対する同期処理を行います。