首页 > 解决方案 > 按字符串属性值对对象数组进行排序

问题描述

我有一组 JavaScript 对象

let data = [
      { type: 'account', title: 'Robb', subscription: 'ESSENTIAL' },
      { type: 'account', title: 'Bran', subscription: 'ESSENTIAL' },
      { type: 'account', title: 'Arya', subscription: 'FREE' },
      { type: 'article', title: 'The Wall' },
      { type: 'account', title: 'Tyrion', subscription: 'ESSENTIAL' },
    ];

数组已经排序。我想通过订阅再次对其进行排序。要求是在顶部显示 ESSENTIAL 帐户,而让其他帐户保持原样。请注意,某些对象没有subscription属性。

标签: javascriptarrayssorting

解决方案


data.sort((a, b) => a.subscription === "ESSENTIAL" ? 1 : -1);


推荐阅读