我有一个具有多个属性的对象数组。给定以下数组:
var people = [
{name: "allen", age: 33, color:"green"},
{name: "jon", age: 23, color:"blonde"},
{name: "silver", age: 54, color:"yellow"},
{name: "james", age: 52, color:"grey"},
{name: "flint", age: 25, color:"pink"},
{name: "beilly", age: 31, color:"blonde"},
{name: "bwones", age: 47, color:"grey"},
{name: "sas", age: 35, color:"green"},
{name: "jackson", age: 234, color:"yellow"},
{name: "leonsardo", age: 12, color:"brown"},
{name: "dicaeprio", age: 73, color:"pink"},
{name: "sylvfester", age: 35, color:"blonde"},
{name: "alleen2", age: 33, color:"green"},
{name: "jofn2", age: 23, color:"blonde"},
{name: "sdilver2", age: 54, color:"yellow"},
{name: "jamaes2", age: 52, color:"grey"}
];
我需要对这个数组进行排序color
财产,但以一种特殊的方式,首先green
,然后由yellow
,然后由brown
然后由pink
, then grey
最后由blonde
。我读here https://stackoverflow.com/questions/17943186/sort-an-array-of-objects-by-multiple-properties and here https://stackoverflow.com/questions/1129216/sort-array-of-objects-by-string-property-value-in-javascript,但很难根据我的需要生成压实机。由于这只是一个演示数组,而我的实际数据将是一个更大的数组,因此排序机制应该比 n^2
.