自定义搜索 - 如何根据数组中的值重新排序数组

埃夫拉恩·桑杰·阿迪卡里

假设我有一个数组

const arr = [
  {
    name: "Baburam",
    relation: "self_owner"
  },
  {
    name: "Prapti",
    relation: "grand_child"
  },
  {
    name: "Sanjay",
    relation: "son"
  },
  {
    name: "Bhagwati",
    relation: "wife"
  },
  {
    name: "maya",
    relation: "mother"
  },
]

我想根据指定的值关系对数组重新排序,并且这个顺序是固定的:

  1. self_owner

  2. 妻子

  3. 母亲

  4. 儿子

  5. 孙子

我怎么能得到这样的结果。我期望的是:

const arr = [
  {
    name: "Baburam",
    relation: "self_owner"
  },
  {
    name: "Bhagwati",
    relation: "wife"
  },
  ,
  {
    name: "Sanjay",
    relation: "son"
  },
  {
    name: "maya",
    relation: "mother"
  },
  {
    name: "Prapti",
    relation: "grand_child"
  }
  
]

提前致谢。

马赫阿里

存储在一个订单array,然后排序依据indexrelation在对象的arr

const sortorder =['self_owner','wife','mother','son','grand_child']
const arr = [
  {
    name: "Baburam",
    relation: "self_owner"
  },
  {
    name: "Prapti",
    relation: "grand_child"
  },
  {
    name: "Sanjay",
    relation: "son"
  },
  {
    name: "Bhagwati",
    relation: "wife"
  },
  {
    name: "maya",
    relation: "mother"
  },
]
let sorted = arr.sort((a,b) => sortorder.indexOf(a.relation) - sortorder.indexOf(b.relation));
console.log(sorted);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章