繁体   English   中英

按特定属性值对 JavaScript 对象进行排序

[英]Sorting a JavaScript Object by specific property value

如果我有一个 JavaScript 对象,例如:

var currencies= {
  "EUR": 100, 
  "CHF": 15,
  "GPB": 75, 
  "JPN": 116, 
  "EUR": 12, 
  "JPN": 15, 
  "USD": 55, 
  "CHF": 22,
  "USD": 100, 
};

有没有办法按照这个特定的顺序对它们进行排序?

var currencies= {
  "EUR": 12, 
  "EUR": 100, 
  "USD": 55, 
  "USD": 100, 
  "GPB": 75, 
  "CHF": 15,
  "CHF": 22,
  "JPN": 15, 
  "JPN": 116, 
};

通过使用具有单个键/值对的对象的数组,您可以使用这对按键然后按值进行排序。

 var currencies= [{ EUR: 100 }, { CHF: 15 }, { GPB: 75 }, { JPN: 116 }, { EUR: 12 }, { JPN: 15 }, { USD: 55 }, { CHF: 22 }, { USD: 100 }], order = { EUR: 1, USD: 2, GBP: 3, CHF: 4, JPN: 5 }; currencies.sort((a, b) => { var aa = Object.entries(a)[0], bb = Object.entries(b)[0]; return order[aa[0]] - order[bb[0]] || aa[1] - bb[1]; }); console.log(currencies);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM