ООП в JavaScriptРасширяем прототипeasy

Object#set

Добавьте объектам в джаваскрипте метод set, который позволяет устанавливать значение по составному ключу.

Метод может добавлять новое поле:

const obj1 = { a: { b: { x: 1, }, }, }; obj1.set("a.b.y", 6); // obj1 === { // a: { // b: { // x: 1, // y: 6, // }, // }, // };

Или заменять старое значение:

const obj2 = { a: { b: { x: 1, }, }, }; obj2.set("a.b", 7); // obj2 === { // a: { // b: 7, // }, // };

Если необходимо, создаются новые объекты:

const obj3 = { a: { b: { x: 1, }, }, }; obj3.set("a.m.n.y", 8); // obj3 === { // b: { // x: 1, // }, // a: { // m: { // n: { // y: 8, // }, // }, // }, // };