Полагаю, вы говорите о старых версиях Internet Explorer (более новой версией является 9, и ваш скрипт работает на нем).
Тогда, вероятно, из-за Array.indexOf
Internet Explorer раньше не имел этой функции. См. Array.indexOf в Internet Explorer .
Кстати, jQuery.inArray
также возвращает индекс значения в массиве. Таким образом, это довольно излишне:
if ($.inArray(fruit_remove, fruits_array) > -1) {
var fruit_index = fruits_array.indexOf(fruit_remove);
...