Assume I have an indexed array of objects, such as these containing lines of a popular folk song ;)
var lyrics = [
{line : 2, words : \"He\'s a lumberjack
I would totally simplify your entire structure:
Use a native javascript array, instead of storing an extra key (line
) use the javascript index as the key, which means javascript (if used properly) will manage it for you, and use less memory.
So we've got an array of strings:
var f = [];
f.push('first');
f.push('third');
f.push('fourth');
// reindex on insert
// lets insert second in the natural place
f.splice(1,0,'second'); // ["first", "second", "third", "fourth"]
// reindex on delete
// lets delete 'third'
f.splice(2,1); // ["first", "second", "fourth"]
etc.