Я не могу обновить значение поля объекта в массиве в javascript / typescript?

Michael Coxon спросил: 03 ноября 2018 в 09:40 в: javascript

Это кажется чертовски простым, но я просто не могу обновить значение поля pos в объекте WorkSetTemplate в массиве.

Вот код:

export class WorkSetTemplate {  static alignPositionWithDisplay(coll: WorkSetTemplate[]): WorkSetTemplate[] {
    for (let i = 0; i < coll.length; i++) {
      coll[i].pos = i + 1;
    }
    return coll;
  }  constructor(
    public id?: number,
    public nk?: string,
    public pos?: number,
    public name?: string,
    public maintainerId?: number,
    public airworthinessDirectiveIssueNumber?: string,
    public workItemTemplates?: WorkItemTemplate[]
  ) {}}

допустим, я начинаю с наборов:

вызов метода static

with:

sets = WorkSetTemplate.alignPositionWithDisplay (sets);

Я ожидал бы увидеть то же расположение объектов, но с положительными значениями чтения в последовательности, как 1, 2, 3 ( не 2, 1, 3)

Но на самом деле никаких изменений не происходит (т. е. они остаются как 2, 1, 3, даже если в консоли for изменение i фактически происходит (в цикле) Так что все равно, что изменения разыменовываются, когда вы выходите из цикла. Я, очевидно, упускаю что-то довольно простое здесь. Может кто-нибудь сказать мне, что я неправильно понял?

0 ответов