Gravio, не надо воспринимать встроенные методы как набор волшебных палочек. Открываете описание метода, читаете, что он делает, делаете то же самое вручную.
"Не работает" - а куда там, по-вашему, возвращается data? И с какого перепугу переменная, объявленная внутри функции, должна быть доступна снаружи? Хотите, чтобы массив data был доступен снаружи - там и объявите его, а внутри input обновляйте. Можно не целиком, а, как в соседнем ответе предлагается, только изменённый элемент. Например.
djok_uzb, ваш комментарий безумен. В нём содержится неявное предположение, что я способен телепатически определить степень вашей компетентности. Нет, я такого не могу. И никто не может. Телепатии не существует. Хотите каких-то пояснений - будьте более конкретны, укажите, что именно вам непонятно.