前端是怎么优先显示某些数据的呢?

新手上路,请多包涵

是这样子的,在做一个预约小程序的时候,后台会返回三种状态,分别是预约中,预约失败,预约成功。那怎么把预约中的数据展示在最前面,其他数据按照时间排序呢?
ball ball大家帮帮我,有没有什么比较好的办法?

阅读 2.6k
2 个回答

可以把预约中的数据 filter 出来,拼接在新数组的前面。例如

const pendingData = list.filter(d => d.pending);
const otherData = list.filter(d => !d.pending);
const newData = [...pendingData, ...otherData];
list.sort((a, b) => {
  if (a.xxx && !b.xxx) return -1 // a是预约,b不是 
  if (b.xxx && !a.xxx) return 1 // b是预约,a不是
  return b.time - a.time
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题