Как правильно удалить объект из массива?
Как вам уже правильно подсказали, проще воспользоваться унарным оператором delete.

var data = [
    {text: 'College', id: 1},
    {text: 'University', id: 2},
    {text: 'School', id: 3}
];

data.map(function (elt, index) {
    if(elt.id === 2) {
        delete data[index];
    }
});
delete data[i]; не нравится?
а data.splice()?