#javascript #json #reactjs
#javascript #json #reactjs
Вопрос:
Добрый день, поскольку я могу вызвать из массива json те, которые содержат больше данных, я создаю график и должен содержать те, у которых больше данных, у меня есть этот код, куда я отправляю свои данные
vehiculoPorColores = () => {
const _this = this
fetch("/live/graph/color")
.then(response => response.json())
.then(datos => {
const vehicleKey = Object.keys(datos)
console.log(vehicleKey)
_this.setState(
{
vehiculosC: vehicleKey.splice(0, 5).map((i, e) => ({
name: vehicleKey[e],
colores: datos[i]
}))
},
() => {
setTimeout(this.vehiculoPorColores, 1000)
}
)
})
}
JSON:
{
"lavender": 3,
"white": 12,
"dimgrey": 4,
"seagreen": 2,
"lightslategrey": 6,
"slategrey": 7,
"indianred": 2,
"snow": 1,
"darkslategrey": 1,
"khaki": 1,
"gainsboro": 3,
"palevioletred": 1,
"darkgrey": 1
}
чтобы быть более конкретным: json
Мне нужно отсортировать данные и выбрать 5 записей с наибольшими значениями, прямо сейчас я отправляю вызов только 5, но это не те, у которых больше данных, и мне это нужно, и что их всего 5, аааа, и я работаю в react
Комментарии:
1. Что вы имеете в виду под «теми, у кого больше данных»? Больше данных, чем что?
2. на изображении показан список, в этом списке есть цвета и цифры, у тех, у кого больше номеров, я не знаю, правильно ли я понимаю? img= i.stack.imgur.com/8pXLp.png
3. Выше чего? «Выше» — понятие относительное. Код не может угадать, что вы используете в качестве порога для определения «выше». Вы должны указать ему, каков порог.
4. Может быть, вы имеете в виду, что хотите отсортировать данные и выбрать 5 записей с наибольшими значениями?
5. Точно, мне нужно отсортировать данные и выбрать 5 записей с наибольшими значениями, извините, я не могу указать, я почти не говорю по-английски
Ответ №1:
Если вы хотите отсортировать массив в JS, вы можете сделать…
Наличие объекта в форме: { key1: 10, key2: «строка»}
Затем, имея массив:
[{
key1: 10,
key2: "a string"
},
{
key1: 20,
key2: "a string"
}]
Вы можете сделать это:
[{
key1: 10,
key2: "a string"
},
{
key1: 20,
key2: "a string"
}].sort((elemN, elemNplus)=> elemN.key1 - elemNplus.key1) :: output => [{
key1: 10,
key2: "a string"
},
{
key1: 20,
key2: "a string"
}]
и больший первый:
[{
key1: 10,
key2: "a string"
},
{
key1: 20,
key2: "a string"
}].sort((elemN, elemNplus)=> elemNplus.key1 - elemN.key1) :: output => [{
key1: 20,
key2: "a string"
},
{
key1: 10,
key2: "a string"
}]