如何按“包含”对数组进行排序?

时间:2019-04-28 12:43:32

标签: javascript reactjs

我有一个带有ID,通行证等的用户对象,还有一个Vacations对象数组(假期),每个对象都有“追随者”,后面跟随着所有用户 id ( “喜欢”)度假。

赞:

vacations: [{name:'Germany', Price:200 ,followers:['fsdas7213nasd'], follows:1 }]

现在,我想对休假进行排序,以首先显示包含用户ID的休假。我该怎么办?

1 个答案:

答案 0 :(得分:1)

vacations.sort((a, b) => b.followers.includes(userID) - a.followers.includes(userID));

两个includes调用都将导致一个布尔值,由于相减,该布尔值将转换为false-> 0,true-> 1。因此整个表达式结果为

  • -1(第一个)(如果userID仅包含在a的关注者中)
  • 1(首先是b)(如果仅在b中)
  • 0(保留顺序),如果两者都存在/不存在。