7 простых способов удалить значение из объекта JavaScript по ключу

В JavaScript объекты представляют собой фундаментальную структуру данных, позволяющую хранить пары ключ-значение. Иногда вам может потребоваться удалить определенное значение из объекта на основе его ключа. В этой статье мы рассмотрим несколько простых методов достижения этой задачи. Итак, приступим!

Метод 1: использование оператора delete
Самый простой способ удалить значение из объекта JavaScript — использовать оператор delete. Вот пример:

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
delete obj.key2;

Метод 2: использование метода Object.assign()
Другой подход — использовать метод Object.assign()для создания нового объекта без нужной пары ключ-значение. Вот пример:

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
const updatedObj = Object.assign({}, obj);
delete updatedObj.key2;

Метод 3: использование оператора spread
Оператор spreadтакже можно использовать для удаления определенной пары ключ-значение из объекта. Вот пример:

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
const { key2, ...updatedObj } = obj;

Метод 4: клонирование объекта и удаление ключа
Вы можете создать клон объекта и удалить из клона нужный ключ. Вот пример:

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
const updatedObj = { ...obj };
delete updatedObj.key2;

Метод 5: использование функции omit()из Lodash
Если у вас есть библиотека Lodash, вы можете использовать функцию omit(), чтобы исключить определенный ключ из объект. Вот пример:

const _ = require('lodash');
const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
const updatedObj = _.omit(obj, 'key2');

Метод 6: создание универсальной функции
Вы также можете создать функцию многократного использования для удаления пары ключ-значение из объекта. Вот пример:

function removeKey(obj, key) {
  const updatedObj = { ...obj };
  delete updatedObj[key];
  return updatedObj;
}
const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
const updatedObj = removeKey(obj, 'key2');

Метод 7: использование Object.fromEntries()
ES2020. Если вы используете ECMAScript 2020 или более позднюю версию, вы можете использовать метод Object.fromEntries()вместе с Object.entries()чтобы удалить пару ключ-значение. Вот пример:

const obj = {
  key1: 'value1',
  key2: 'value2',
  key3: 'value3'
};
const updatedObj = Object.fromEntries(
  Object.entries(obj).filter(([key]) => key !== 'key2')
);

Удалить значение из объекта JavaScript по ключу можно несколькими способами. В этой статье мы рассмотрели семь различных методов, в том числе использование оператора delete, Object.assign(), оператора spread, клонирование объекта, . 21, создав общую функцию и используя Object.fromEntries(). Выберите метод, который соответствует вашим потребностям и стилю кодирования. Приятного кодирования!