Как из массива с объектами сделать массив с элементами?

"reviews": [
  {
    "id": 32641,
    "text": "отлично",
    "authorName": "Lena",
    "staffName": "Марина",
    "pictures": [
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"},
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"}
    ]
  },
  {
    "id": 25638,
    "text": "так себе мастер",
    "authorName": "Sasha",
    "staffName": "Марина",
    "pictures": [
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"},
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"}
    ]
  }
]

Нужно чтобы, при клике на картинку отзыва N, открывались только картинки отзыва N. При клике, картинки отзыва N передаются массивом картинок в компонент слайдер(который отображает их).

У меня же получается только, передать массив с объектами картинок, что компонент слайдер не может отобразить либо передать массив всех картинок всех отзывов. (слайдер нельзя изменять, так как он используется в других местах)


Ответы (1 шт):

Автор решения: Lukas

const test = {
"reviews" : [
  {
    "id": 32641,
    "text": "отлично",
    "authorName": "Lena",
    "staffName": "Марина",
    "pictures": [
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"},
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"}
    ]
  },
  {
    "id": 25638,
    "text": "так себе мастер",
    "authorName": "Sasha",
    "staffName": "Марина",
    "pictures": [
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"},
      {"url": "/static/img/picture-missing/review_picture.jpg?v=1"}
    ]
  }
]
}

function getPicturesById (obj, id) {
 return obj.reviews.filter(item => item.id === id)[0].pictures;
}

console.log(getPicturesById(test, 32641))

→ Ссылка