Как вернуть один конкретный элемент с помощью функции map (JavaScript)

#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>
          )
        )}