преобразовать метод Reduce () в метод map () - PullRequest
0 голосов
/ 07 февраля 2019

Я бы хотел использовать метод map () для функции _processData() для извлечения столбцов LATITUDE и LONGITUDE моего CSV-файла, но не уверен, как это сделать.Я использую d3-fetch для анализа в файле CSV.

  class App extends Component {
    state = {
      points: [],
    }

    componentDidMount() {
      this._processData()
    }

    _processData() {
      csv(csvFile).then(x => {
        const points = x.reduce((accu, curr) => {
          accu.push({
            position: [Number(curr.LONGITUDE), Number(curr.LATITUDE)],
            pickup: true,
          })
          return accu
        }, [])
        this.setState({
          points,
        })
      })
    }
    
  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете просто сделать это:

_processData() {
  csv(csvFile).then(x => {
    const points = x.map(curr => ({
      position: [Number(curr.LONGITUDE), Number(curr.LATITUDE)],
      pickup: true,
    }));
    this.setState({
      points,
    })
  })
}
...