【问题标题】:VueJS sort/order an array of objects by a specific propertyVueJS 按特定属性对对象数组进行排序/排序
【发布时间】:2019-11-21 16:43:26
【问题描述】:

我有一个所有isPrimary 属性的联系人对象数组。其中只有一个应该是正确的,但无论如何我都想将任何主要联系人排序到数组的顶部。我正在使用 VueJS 并计划在列表组件中创建。我知道我可以创建一个计算属性,但不确定如何在它不是真正比较 a 和 b 时使用排序,而只是想重新排序任何主要的。这是一个粗略的开始:

sortedContacts () {
  return this.contacts.sort((a, b) => { // what to do here? })
}

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript object vue.js ecmascript-6 vuejs2


    【解决方案1】:

    使用sort 和布尔值来进行数字类型强制转换,如下所示:

    return this.contacts.sort(({ isPrimary: a }, { isPrimary: b }) => b - a);
    

    这是通过比较truefalse的数字表示,分别是10,并根据sort的回调的返回值,它返回一个数字,确定每个项目也应该移动的地方。

    【讨论】:

      【解决方案2】:
      this.contacts.sort((a, b) => { a.isPrimary ? -1 : 1 })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-27
        • 1970-01-01
        • 1970-01-01
        • 2012-02-20
        • 2010-11-02
        相关资源
        最近更新 更多