如何在ReactJS中对HTML表进行排序

如何在ReactJS中对HTML表进行排序,html,reactjs,reactstrap,Html,Reactjs,Reactstrap,我有对象的数组,我将数据添加到HTML表。现在我需要按版本对数据进行排序。如何在React中执行类似操作 render() { return ( <div> <div> <Label> We got {this.state.count} elements in our database. </Label> </div> <div>

我有
对象的
数组
,我将数据添加到
HTML表
。现在我需要按版本对数据进行排序。如何在
React
中执行类似操作

  render() {
    return (
      <div>
        <div>
          <Label> We got {this.state.count} elements in our database. </Label>
        </div>
        <div>
          <Table hover striped bordered responsive size="sm" >
            <thead>
              <tr>
                <th>VERSION</th>
                <th>DATE</th>
                <th>UUID</th>
              </tr>
            </thead>
            <tbody>
              {this.state.results.map(result =>
                <tr key={result.fileId}>
                  <td>{result.VERSION}</td>
                  <td>{result.ORIGIN}</td>
                  <td>{result.UUID}</td>
                </tr>
              )}
            </tbody>
          </Table>
        </div>
      </div>
    );
  }
}
render(){
返回(
我们的数据库中有{this.state.count}个元素。
版本
日期
UUID
{this.state.results.map(result=>
{result.VERSION}
{result.ORIGIN}
{result.UUID}
)}
);
}
}

也许我可以使用一些
js
脚本,但请告诉我如何使用它,我对
ReactJS
是新手。例如,我的版本是
0.26.8

我会在这里使用lodash的
sortBy()
函数:


然后映射
已排序的
而不是
此.state.results

只需确保
此.state.results
在渲染之前已正确排序


最简单的方法可能与以下类似:

  {this.state.results.sort((a, b) => a.VERSION - b.VERSION).map(result =>
    <tr key={result.fileId}>
      <td>{result.VERSION}</td>
      <td>{result.ORIGIN}</td>
      <td>{result.UUID}</td>
    </tr>
  )}
{this.state.results.sort((a,b)=>a.VERSION-b.VERSION.map(结果=>
{result.VERSION}
{result.ORIGIN}
{result.UUID}
)}

编辑:因为您声明版本不是数值,而是字符串,所以排序函数需要稍微复杂一点。我建议您看看,或者使用覆盖该用例的方法

const sorted = results.sort((x,y) => {
    return parseInt(x.VERSION) - parseInt(y.VERSION);
});

按升序排序

我的版本看起来像:
0.22.6
,而不仅仅是一个数字。我忘了把它添加到描述中。抱歉,已更新。我的版本看起来像:0.22.6,而不仅仅是一个数字。我忘了把它添加到描述中。已经更新了,对不起。
const sorted = results.sort((x,y) => {
    return parseInt(x.VERSION) - parseInt(y.VERSION);
});