есть такой json opinions :
{
0: {
_id: "5f10b65566f6bd036a5c1946",
opinion: "Ваш ребенок, во всяком случае, на данном этапе своей жизни, не может претендовать на какую либо степень одаренности. Возможно, у него есть скрытые таланты, которые проявят себя позже... ad",
limit: 15,
status: "Ужасно",
createdAt: "2020-07-16T20:19:33.629Z",
updatedAt: "2020-07-16T21:36:43.294Z",
__v: 0,
id: "5f10b65566f6bd036a5c1946"
},
1: {
_id: "5f10b65566f6bd036a5c1947",
limit: 40,
status: "Нормально",
opinion: "Способности вашего ребенка можно охарактеризовать как среднестатистические.",
createdAt: "2020-07-16T20:19:33.629Z",
updatedAt: "2020-07-16T21:36:43.292Z",
__v: 0,
id: "5f10b65566f6bd036a5c1947"
},
2: {
_id: "5f10b65566f6bd036a5c1948",
opinion: " Способности вашего ребенка можно охарактеризовать как выше среднего. ",
limit: 80,
status: "Хорошо",
createdAt: "2020-07-16T20:19:33.629Z",
updatedAt: "2020-07-16T21:36:43.293Z",
__v: 0,
id: "5f10b65566f6bd036a5c1948"
},
3: {
_id: "5f10b65566f6bd036a5c1949",
limit: 100,
status: "Отлично",
opinion: "Ваше чадо можно считать ребенком индиго",
createdAt: "2020-07-16T20:19:33.629Z",
updatedAt: "2020-07-16T21:36:43.296Z",
__v: 0,
id: "5f10b65566f6bd036a5c1949"
}
}
я преобразовал это дело в массив
[...Object.values(opinions)]
Теперь хочу пройтись методом фильтр . из запроса
/tests/:id/expertOpinions/:mode/:sumQuestions/:score
сервер получает количество очков и количество вопросов.
результат очков равен как sumQuestions/score
то-есть запрос вида
localhost:1337/tests/5f0084e313a7a606f146a924/expe...
вернет
const resultCore = 80/2 = 40 очков
И теперь мне нужно выдать ответ который попадает в этот диапозон. Моя огибка конечно, удобнее было бы в данных не делать поле limit, а сделать два поля с нижне и верхней границей. А как можно методом filter, или другим методом
сделать что -то подобное
[...Object.values(opinions)].filter((option) => option.limit <= resultCore <= option.limit)
только слева это предыдущий элемент а справа текущий, или нет наверное правильней , слева текущий а справа следующий
ну то-есть получить
20 <= resultScore <= 100