Create an array. Add a non numeric property to it with a value. Assign that array to an object as a property. Create an observable of that object. The array no longer has its non numeric property. How can this be avoided? The same test with an object (which is all an array is) works fine.
http://jsfiddle.net/n54tke37/3/
The first half of that fiddle shows the object case which works. The second half shows the array case which does not.