如何在 React Native 中对平面列表进行排序?
How to sort flatlist in React Native?
我有数据存储在平面列表中显示的状态,我想根据评级对数据进行排序。因此,如果我单击排序按钮,它们应该按 ascending
顺序排序,当我再次单击时,它们应该按 descending
顺序排序。
我有一个状态存储的对象数组,下面只是一个重要的数据。
show_data_list = [{ ratings : { overall : 4, ...other stuff } } ]
有什么方法可以做到吗,我尝试使用对数组进行排序的 map 函数
list.map((a,b) => a-b)
但是我如何使用它来对我的对象数组进行排序,我不能传入 2 item.rating.overall
作为参数。
在此先感谢您的帮助:)
您可以使用 javascript
的内置 sort
功能。您可以为它提供一个自定义 comparer
函数,如果第一项优先,它应该 return 负值,如果它们相同则为 0,如果第二个值优先则为正值。
show_data_list.sort((a, b) => { return a.ratings.overall - b.ratings.overall; })
。这将按升序对数据进行排序。
show_data_list.sort((a, b) => { return b.ratings.overall - a.ratings.overall; })
。这将按降序对其进行排序。
我就是这样解决的,将数据存储在一个变量中,然后根据条件对其进行排序
let rating = this.state.show_data_list;
rating.sort(function(a,b) {
return a.ratings.Overall < b.ratings.Overall
我有数据存储在平面列表中显示的状态,我想根据评级对数据进行排序。因此,如果我单击排序按钮,它们应该按 ascending
顺序排序,当我再次单击时,它们应该按 descending
顺序排序。
我有一个状态存储的对象数组,下面只是一个重要的数据。
show_data_list = [{ ratings : { overall : 4, ...other stuff } } ]
有什么方法可以做到吗,我尝试使用对数组进行排序的 map 函数
list.map((a,b) => a-b)
但是我如何使用它来对我的对象数组进行排序,我不能传入 2 item.rating.overall
作为参数。
在此先感谢您的帮助:)
您可以使用 javascript
的内置 sort
功能。您可以为它提供一个自定义 comparer
函数,如果第一项优先,它应该 return 负值,如果它们相同则为 0,如果第二个值优先则为正值。
show_data_list.sort((a, b) => { return a.ratings.overall - b.ratings.overall; })
。这将按升序对数据进行排序。
show_data_list.sort((a, b) => { return b.ratings.overall - a.ratings.overall; })
。这将按降序对其进行排序。
我就是这样解决的,将数据存储在一个变量中,然后根据条件对其进行排序
let rating = this.state.show_data_list;
rating.sort(function(a,b) {
return a.ratings.Overall < b.ratings.Overall