var list = [4,5,6];
delete list[1];
print(list); // [4, undefined, 6]
Как правильно:
var list = [4,5,6];
list.splice(1, 1); // Remove one element, returns the removed ones.
print(list); // [4, 6]
И еще правильно:
var visibleIds = [4,5,6];
visibleIds.splice(visibleIds.indexOf(5), 1);
print(visibleIds); // [4, 6]
См. также JavaScript: Remove element from Array.