TGViewer
frontend от ежетты frontend от ежетты @front_hedgehog · 422 subscribers
Post #109 224
Привет! Как скопировать массив или объект в javascript?

1) Копирование массива
const names = ['Oliver', 'Sophia', 'William', "Emma', 'Ethan'];

/* неправильно, copyNames содержит ссылку на names, при изменении элементов copyNames изменится names */
const copyNames = names;

/* правильно, copyNames независимая копия, под неё в памчти выделено собственное место и её можно менять не изменяя names */
const copyNames = names.slice();

/* так тоже можно скопировать массив */

const copyNames = [...names];

2) Копирование объектов
const user = {login: 'kruglov', password: '3456'};

/*  Как и для массива, так неверно, мы получим ссылку на оригинальный объект */
const copyUser = user;

/* можно использовать spread-оператор */

const copyUser = {...user};

/* Для тех объектов, значения ключей которых - примитивы, можно использовать Object.assign() */

Object.assign(copyUser, user);

/* Можно в assign передать несколько объектов для копирования */

/* Для глубокого копирования объектов, ключи которых не примитивы, можно использовать JSON.parse */

const userCopy = JSON.parse(JSON.stringify(user));

/* Терзаем задачу дальше? - начиная с версии 17 NodeJS доступна функция structuredClone.
Еще можно использовать библиотеку lodash, функция cloneDeep */

/* в тексте поста переопределяются const переменные, поскольку они не будут вместе в одном коде, выбирайте подходящий */

Документация:
🔗 https://learn.javascript.ru/object-copy
🔗https://doka.guide/js/shallow-or-deep-clone/
#js #frontend
More from @front_hedgehog
  1. Jun 16, 2026Как вы знаете, я уже полгода работаю исключительно с AI. Однако, пора бы что-то делать. Я…
  2. Jun 6, 2026Привет. Продолжаю рассказывать об использовании ИИ в работе разработчика. На этот раз орке…
  3. Apr 13, 2026Как я использую уже целых два AI в работе В основном один (Claude) делает, второй (Codex)…
  4. Mar 10, 2026Девушки в диджитал — топ 💗 Ведь именно те самые девушки закрывают самый сложный тикет, пе…
  5. Mar 10, 2026Привет, 8 марта ещё не кончилось, врываюсь с перепостом подборки каналов девушек в ИТ, куд…
  6. Dec 31, 2025Привет! Вот и новый год наступает. Осталось меньше суток. Хочу вам пожелать самого доброго…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →