@ghost3ds

Как соотнести индекс массива со свойством объекта?

Всем привет. На бэкэнде хранится массив с объектами

[
{
"id": 0,
"imageUrl": "https://thumb.tildacdn.com/tild3132-3935-4530-b137-396535386334/-/format/webp/amsterdam_pie_1.jpg",
"title": "Амстердамский пирог",
"sizes": [
300,
600,
900
],
"price": 295,
"category": 1,
"rating": 4
},


Подскажите пожалуйста, как соотнести свойства объекта "title", "price", "rating" с индексом массива list?

function Sort() {
  const { selectedSort, setSelectedSort } = useContext(Context);
  const [openPopup, setOpenPopup] = useState(false);
  const list = ['По популярности', 'По цене', 'По названию'];
  const onClickSort = (i) => {
    setSelectedSort(i);
    setOpenPopup(false);
  };

Это нужно для сортировки элементов на странице.

6377534b2aa79195924937.jpeg

Запрос выглядит так:

fetch(
      `https://636f5291f2ed5cb047daa480.mockapi.io/items?${
        active > 0 ? `category=${active}` : ''
      }&sortBy=${selectedSort}&order=asc`,
    )

Спасибо.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
@historydev Куратор тега JavaScript
Острая аллергия на анимешников
const list = new Map([
	['rating', 'По популярности'],
  ['price', 'По цене'],
  ['title', 'По названию'],
]);

const onClickSort = (item) => {
  setSelectedSort(list.get(filter[0]));
  setOpenPopup(false);
}

onClickSort('rating');


{[...list].map(item => (
              <li
                key={i}
                onClick={() => onClickSort(item[0])}
                className={selectedSort === i ? 'activeSort' : ''}
              >
                {value}
              </li>
            ))}
Ответ написан
Ваш ответ на вопрос

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

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