Javascript 按“排序”对数组进行排序;“宽度x高度”;图案

Javascript 按“排序”对数组进行排序;“宽度x高度”;图案,javascript,arrays,sorting,Javascript,Arrays,Sorting,图案看起来像宽x高 var formats = [ "900x100", "900x200", "1200x200", "1200x100", "1100x100", "1100x200" ]; 结果将是: "1200x200", "1200x100", "1100x200", "1100x100", "900x200", "900x100" 首先排序宽度然后排序高度 var formats = [ "900x100", "900x200", "1200x200", "1200x100",

图案看起来像
宽x高

var formats = [
"900x100",
"900x200",
"1200x200",
"1200x100",
"1100x100",
"1100x200"
];
结果将是:

"1200x200",
"1200x100",
"1100x200",
"1100x100",
"900x200",
"900x100"
首先排序
宽度
然后排序
高度

var formats = [
"900x100",
"900x200",
"1200x200",
"1200x100",
"1100x100",
"1100x200"
];
通过使用
.sort()

演示:给你:


较短版本:
返回b[0]==a[0]?b[1]-a[1]:b[0]-a[0]
如果您对这些愚蠢的优化感兴趣,请查看
code-golf
标签,否则请保持专业性。
formats.sort(function(a,b){
   var a = a.split("x");
   var b = b.split("x");
  if (a[0] !== b[0]) {
    return b[0] - a[0]; // by width
  } else {
    return b[1] - a[1]; // by height
  }
});