Javascript 如何根据键值对数组对象进行排序?

Javascript 如何根据键值对数组对象进行排序?,javascript,Javascript,下面是一个数组对象,我想根据每个数组中每个对象的第一个键值进行排序 var beforeSort = [{ "James": "value", "key": "value", "key": "value", "key": "value" },{ "William": "value", "key": "value", "key": "value", "key": "value" },{ "Cindy": "value", "key": "value", "key": "value", "key":

下面是一个数组对象,我想根据每个数组中每个对象的第一个键值进行排序

var beforeSort = [{
"James": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"William": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"Cindy": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"Apple": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"Timmy": "value",
"key": "value",
"key": "value",
"key": "value"
}];
我希望达到的结果如下:

 var afterSort = [{
"Apple": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"Cindy": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"James": "value",
"key": "value",
"key": "value",
"key": "value"
},{
"Timmy": "value",
"key": "value",
"key": "value",
"key": "value"
},{
 "William": "value",
"key": "value",
"key": "value",
"key": "value"
}];

技术上可能吗?

您可以获取一组公共密钥,并从所有密钥中筛选未知密钥进行排序

var commonKeys = ['a', 'b', 'c'];

array.sort((a, b) => {
    var keyA = Object.keys(a).filter(k => !commonKeys.includes(k))[0],
        keyB = Object.keys(b).filter(k => !commonKeys.includes(k))[0];

    return keyA.localeCompare(keyB);
})

在编程中,许多事情在技术上是可能的。通常,第一步是找出您试图实现的逻辑类型,第二步是尝试编写一些代码,我认为OP可能只是想要Object.keysa[0]的副本