riddlr
@riddlr

Как отфильтровать значения объекта?

Объекты тяжелей заходят, нежели массивы.

post: {
  comments: {
    1: {
      id: 1,
      parent: null
    },
    2: {
      id: 2,
      parent: 3
    },
    3: {
      id: 3,
      parent: 1
    },
    4: {
      id: 4,
      parent: null
    }
  }
}


Как получить объект, с ключами, у которых parent: null?

post: {
  comments: {
    1: {
      id: 1,
      parent: null
    },
    4: {
      id: 4,
      parent: null
    }
  }
}


АПД сделал так, есть другие способы?

let n = {}
for (i in post.comments) {
  if (post.comments[i].parent === null) {
    Object.assign(n, {[i]: post.comments[i]})
  }
}
  • Вопрос задан
  • 2554 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.entries(comments).reduce((acc, [ k, v ]) => v.parent === null ? { ...acc, [k]: v } : acc, {})

или

Object.values(comments).reduce((acc, n) => (n.parent === null && (acc[n.id] = n), acc), {})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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