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]的副本