Вот пример:
class ExampleClass {
private x: number;
private ary: number[];
constructor(x, ary = []) {
this.x = x;
this.ary = ary;
}
public getX() {
return this.x;
}
public setX(x) {
this.x = x;
}
}
const elemArray = [new ExampleClass(10, [10, 20]), new ExampleClass(20, [20, 30])];
Я хочу установить для elemArray
второго элемента *1004* значение 30, используя функцию setX
. Самый простой способ будет:
const newElemArray = update(elemArray, {1: {$apply: function (x: ExampleClass) {
const y = _.cloneDeep(x);
y.setX(30);
return y;
}}});
Но я хочу быть в состоянии сделать это без клонирования массива ary
, поскольку он сам по себе может быть большим, а клонирование может быть дорогостоящим. Как я могу это сделать?
Спасибо