У меня есть функция, которая преобразует объект JS.Он извлекает новое свойство из существующего, а затем удаляет исходное свойство.По сути как то так:
/** Derives "capName" property from "name" property, then deletes "name" */
function transform(person) {
person["capName"] = person["name"].toUpperCase();
delete person["name"];
return person;
}
var myPerson = {
name: "Joe",
age: 20
};
var newPerson = transform(myPerson);
console.log(myPerson, newPerson);
Функция возвращает нужный объект newPerson
, но также изменяет исходный объект myPerson
.Я бы предпочел сделать это в чистом виде, который не изменяет исходный объект myPerson
.
Примечание : мне действительно нужно быть совместимым с ES5, но я бы хотелсм. также решение ES6.