All the knockout examples I have found seem to add a new item to the end of an ObservableArray using something like:
viewModel.SomeItems.push(someNewItem);
This of course places the item at the end of the array.
How to I add an item to the ObservableArray at a certain position?
eg. something like:
viewModel.SomeItems.push(someNewItem, indexToInsertItAt);
You should be able to use the native JavaScript
splice
method -Docs here - https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice
Example here (not Knockout specific) - How to insert an item into an array at a specific index?
From the Knockout docs -
For knockout use
See also: http://knockoutjs.com/documentation/observableArrays.html
I made this extension function which worked nicely for me. Splice wasn't working for me if I was adding to the end of a sparse array.
This even works with: