#javascript #arrays #reactjs #api #dictionary
#javascript #массивы #reactjs #API #словарь
Вопрос:
Я пытаюсь вернуть один элемент из массива с помощью функции map, и вместо одного элемента после map у меня есть один элемент, который отображается столько раз, сколько элементов в массиве.
{this.state.cities.map(() =>
this.state.cities[0].value > 10 ? (
<p style={{ color: "red" }}>
{this.state.cities[0].name} - {this.state.cities[0].value}
</p>
) : (
<p>
{" "}
{this.state.cities[0].name} - {this.state.cities[0].value}
</p>
)
)}
Комментарии:
1. вам нужен город, у которого
value
больше 10?, Если да, используйте[].find
метод и отобразите его2. Я обновил свой вопрос. Может быть, теперь все более понятно. Я был бы очень благодарен за ответ
Ответ №1:
Вы должны использовать аргумент map, чтобы увидеть, какой объект value имеет ваши критерии:
Другими словами, если значение> 10, абзац будет отображаться красным цветом, в противном случае просто отобразятся остальные абзацы
{this.state.cities.map((city) =>
city.value > 10 ? (
<p style={{ color: "red" }}>
{city.name} - {city.value}
</p>
) : (
<p>
{" "}
{city.name} - {city.value}
</p>
)
)}