Исключая стандартный совет использовать React(лучше использовать Inferno/Riot).
Задача данная требует переопределения стандартный методов массива: push/pop и т.п.
Только не советую это делать для прототипа массива.
Так как это довольно трудоемко то использовать существующей библиотеки может быть более выгодным(hint Observable Array).