JavaScript: создать глубокий клон объекта
Основы JavaScript (синтаксис ES6): упражнение 71 с решением
Напишите программу на JavaScript для создания глубокого клона объекта.
Пример решения: -
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Create a deep clone of an object</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const deepClone = obj => {
let clone = Object.assign({}, obj);
Object.keys(clone).forEach(
key => (clone[key] = typeof obj[key] ==='object' ? deepClone(obj[key]) : obj[key])
);
return Array.isArray(obj) ? (clone.length = obj.length) && Array.from(clone) : clone;
};
const a = { foo: 'bar', obj: { a: 1, b: 2 } };
const b = deepClone(a); // a !== b, a.obj !== b.obj
console.log(b)
Пример вывода:
{ "Foo": "бар", "OBJ": { "а": 1, "б": 2}}
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-71-1 от w3resource ( @ w3resource ) в CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript для подсчета вхождений значения в массив.
Далее: Напишите программу на JavaScript, чтобы определить, открывается ли веб-сайт на мобильном устройстве или на настольном компьютере / ноутбуке.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code