Удалить свойство из вложенного объекта с помощью Lodash - PullRequest
0 голосов
/ 04 марта 2019

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

{ "name": "Joe", "email": "joe.smith@test.com", "items": [ { "id": "1", "name": "Name 1" }, { "id": "2", "name": "Name 2" }...] }

Мне нужно удалить свойство name из всех «элементов», я пытался использовать omit, но, похоже, это не работает:

_.omit(this.user, ["items.name"]);

Любая помощь будет отличной!

1 Ответ

0 голосов
/ 04 марта 2019

Метод _.omit() не работает таким образом с несколькими элементами.Вы можете использовать _.map() с _.omit():

const user = { "name": "Joe", "email": "joe.smith@test.com", "items": [ { "id": "1", "name": "Name 1" }, { "id": "2", "name": "Name 2" }] }

const result = {
  ...user,
  items: _.map(user.items, user => _.omit(user, 'name'))
}

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
...