【问题标题】:How to sort flatlist in React Native?如何在 React Native 中对平面列表进行排序?
【发布时间】:2020-03-10 15:52:05
【问题描述】:

我的数据存储在 flatlist 中显示的状态,我想根据评级对数据进行排序。所以如果我点击排序按钮,它们应该按ascending 顺序排序,当我再次点击时,它们应该按descending 顺序排序。

我有一个存储在状态中的对象数组,下面只是一个重要的数据。

show_data_list = [{ ratings : { overall : 4, ...other stuff } } ]

有什么办法可以做到吗,我尝试使用对数组进行排序的map函数

list.map((a,b) => a-b)

但是如何使用它来对我的对象数组进行排序,我不能传入 2 item.rating.overall 作为参数。

提前感谢您的帮助:)

【问题讨论】:

标签: react-native react-native-android react-native-ios react-native-flatlist


【解决方案1】:

您可以使用javascript 内置的sort 函数。您可以为其提供自定义的comparer 函数,如果第一项优先,则返回负值,如果相同则返回 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; })。这将按降序对其进行排序。

【讨论】:

    【解决方案2】:

    这就是我解决它的方法,它将数据存储在一个变量中,然后根据条件对其进行排序

    let rating = this.state.show_data_list;
          rating.sort(function(a,b) {
            return a.ratings.Overall < b.ratings.Overall
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 2013-07-31
      • 2022-01-22
      • 2018-09-13
      相关资源
      最近更新 更多