you_are_enot
@you_are_enot
Пограммист любитель

Как удалить ключ объекта зная его значение?

У меня есть объект
var obj = {
    key1: "value1",
    key2: "value1",
    key3: "value2",
    key4: "value3"
}


Нужно удалить все ключи с значением value1, чтобы получился объект
var obj = {
    key3: "value2",
    key4: "value3"
}
  • Вопрос задан
  • 1470 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.entries(obj).forEach(n => n[1] === 'value1' && delete obj[n[0]])

или, если на самом деле надо не удалять свойства из имеющегося объекта, а собрать новый:

Object.entries(obj).reduce((acc, [ k, v ]) => (v !== 'value1' && (acc[k] = v), acc), {})
// или
Object.fromEntries(Object.entries(obj).filter(n => n[1] !== 'value1'))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы