Быстрое копирование объекта без изменения переменной
Требуется скопировать все поля объекта a в объект b, при этом b=const.
Объект b изначально может уже иметь некоторые свойства, их не должно быть в результате.
Есть ли более быстрое решение, чем это?
const a = {a: 1, b: 2, c: 3}
const b = {e: 1, f: 2, g: 3}
for (const key in b)
delete b[key]
Object.assign(b, a)
Ответы (1 шт):
Автор решения: VerZsuT
→ Ссылка
В ходе тестов более быстрым решением в современных браузерах было
for (const key in b) {
if (!Object.hasOwn(a, key))
delete b[key]
}
for (const key in a)
b[key] = a[key]
Казалось бы, две итерации и проверка Object.hasOwn, но почему-то это выполняется почти в два раза быстрее чем мой пример