另一个javascript数组字母排序很难

Gib*_*him 6 javascript arrays sorting alphabetical jscript

我有一个array看起来像这样,我怎么能按字母顺序排序而不丢失密钥?

var items = [
  { 11: 'Edward' },
  { 12: 'Sharpe' },
  { 13: 'Alvin' }
];
Run Code Online (Sandbox Code Playgroud)

Era*_*hel 6

您可以items使用排序数组Object.values.

const items = [
  { 11: 'Edward' },
  { 12: 'Sharpe' },
  { 13: 'Alvin' }
];

items.sort((a, b) => Object.values(a)[0] > Object.values(b)[0]);

console.log(items);
Run Code Online (Sandbox Code Playgroud)


ibr*_*rir 6

如果对象只有一个键,那么您可以使用它Object.keys来检索该键然后排序:

var items = [
  { '11': 'Edward' },
  { '12': 'Sharpe' },
  { '13': 'Alvin' }
];

items.sort(function(a, b) {
  var akey = Object.keys(a) [0],           // get a's key
      bkey = Object.keys(b) [0];           // get b's key
      
  return a[akey].localeCompare(b[bkey]);   // compare the values using those keys
});

console.log(items);
Run Code Online (Sandbox Code Playgroud)