Это происходит потому, что вы назначаете в начале указатель на this.selectedVoucher.approvalStepList
- в этой строке:
this.approvalStepList = this.selectedVoucher.approvalStepList; // not sorted
Вместо этого вы должны попытаться назначить копию этого массива, например, используя распространение operator:
this.approvalStepList = [...this.selectedVoucher.approvalStepList];
Итак, что там происходило - поскольку вы выполняли не клонирование, а присваивание переменной, эти два значения были связаны вместе, поскольку они указывали на один и тот же объект в памяти - так что все, что вы повлияет ли по одному на каждого из них и на них обоих. Когда вы выполняете копию, она должна работать, я могу предоставить вам простой пример: