按月订单排序数组

时间:2016-05-11 15:27:50

标签: javascript

我想对这个数组进行排序,根据月份Jan, feb, march等等。 在前端使用JavaScript

[[["February",17],["January",30],["March",40],["April",40],["May",50],["June",60]]]

1 个答案:

答案 0 :(得分:5)

sort() 与月订单映射对象

一起使用



var data = [
  ["June", 60],
  ["February", 17],
  ["January", 30],
  ["March", 40],
  ["April", 40],
  ["May", 50]
];
// object which holds the order value of the month
var monthNames = {
  "January": 1,
  "February": 2,
  "March": 3,
  "April": 4,
  "May": 5,
  "June": 6,
  "July": 7,
  "August": 8,
  "September": 9,
  "October": 10,
  "November": 11,
  "December": 12
};

// sort the data array
data.sort(function(a, b) {
  // sort based on the value in the monthNames object
  return monthNames[a[0]] - monthNames[b[0]];
});

document.write('<pre>' + JSON.stringify(data, 0, 3) + '</pre>')
&#13;
&#13;
&#13;