JavaScript Способы копирования массивов и объектов
// Способы копирования массивов
let students = ['Сергей', 'Иван', 'Марьяна', 'Ольга', 'Светлана', 'Марина'];
let studentsNew = students.slice(); // Вариант 1
let studentsNew = [].concat(students); // Вариант 2
let studentsNew = [...students]; // Вариант 3
let studentsNew = Array.from(students); // Вариант 4
console.log(studentsNew);
// Способы копирования объектов
const person = {
name: 'Serge',
age: 55,
social: {
facebook: 'srg',
vk: '@srg'
}
}
// Для простых объектов (без вложенности) - вложенные объектв НЕ копируются и остаются ссылками
const personNEW = Object.assign({}, person); // Вариант 1
const personNEW = { ...person }; // Вариант 2
// Для объектов с вложенностью
const personNEW = JSON.parse(JSON.stringify(person));
console.log(personNEW);
Комментарии
Отправить комментарий