Ну я так понимаю в
addLink
Вам нужно делать
this.arr.push('('+ value +')') //, если value передано
//иначе просто
this.arr.push('( )');
А в
finishChain
-
return this.arr.join(' ~~ ')
И как обнулить массив, в конце вызова
Ну и, видимо, в
finishChain
так же делать
this.arr = [];
Итого в
finishChain
текущее состояние сохранить в переменную, обнулить arr и вернуть то, что сохранили в переменную.
И судя по заданию у Вас
removeLink
не совсем корректно удаляет. Там нужно делать минус 1 от переданного значения.