Add array-like accessors to any object
// Adds array-like accessors to 'obj'
function arrayify(obj){
// Init
var newObj = {},
idx = 0;
// Add array-like keys to all self-properties
for (var key in obj){ if (obj.hasOwnProperty(key)){
newObj[idx++] = obj[key];
}}
// Add a length property (WARNING: MAKE SURE YOUR OBJECT DOES NOT USE A KEY NAMED 'length')
newObj.length = idx;
// Return the new array-like object (NOTE: The original object will not be changed)
return newObj;
}