Сортировка объектов javascript с помощью react и firebase

Я делаю проект с помощью response и не могу отсортировать значения нескольких объектов.

Собственно, вот структура моих объектов:

object1:
   subobject1
      hours: "06",
      details:"lorem ipsum",
   subobject2
      hours: "04",
      details:"lorem ipsum",
object2:
   subobject1
      hours: "05",
      details:"lorem ipsum",
   subobject2
      hours: "01",
      details:"lorem ipsum",

Все восстановленные объекты находятся в таком же виде.

Я хотел бы отобразить эти объекты, отсортировав по свойству «часы» и вернув такой объект:

   object1:
   subobject1
      hours: "04",
      details:"lorem ipsum",
   subobject2
      hours: "06",
      details:"lorem ipsum",
object2:
   subobject1
      hours: "01",
      details:"lorem ipsum",
   subobject2
      hours: "05",
      details:"lorem ipsum",

Не могли бы вы мне помочь ?

Спасибо за любую помощь

Обновлено: извините, я ошибся в структуре

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
113
3

Ответы 3

Вы можете использовать lodash для такой простой функциональности https://lodash.com/docs/4.17.5#sortBy

import _ from 'lodash'

objects = [{hours: 1}, {hours: 3}]
sortedObject = _.sortBy(objects, 'hours')

Допустим, data - это массив, содержащий все эти объекты, тогда

по возрастанию

var sortedData = data.sort((a, b) => Number(a.hours) - Number(b.hours));

По убыванию

var sortedData = data.sort((a, b) => Number(b.hours) - Number(a.hours));

Привет, проблема в том, что это объект объектов, поэтому я не видел, как его использовать

Cohchi 25.04.2018 20:58

Я предполагаю, что вы работаете с массивом объектов. Если так, это можно просто сделать с помощью

ArrayOfObjects.sort(function(a, b) { return (+a.hours) - (+b.hours) });

Или es6

ArrayOfObjects.sort((a, b) => (+a.hours) - (+b.hours));

Затем вы можете создать массив объектов с помощью Object.keys(ObjectOfObjects), а затем использовать .reduce для воссоздания вашего объекта объектов пунктирным способом. .

Ryan Schumacher 25.04.2018 21:21

Другие вопросы по теме