Sort array of objects with date field by date

后端 未结 5 792
猫巷女王i
猫巷女王i 2021-01-31 03:10

Give the following array of objects, I need to sort them by the date field ascending.

var myArray = [
  {
    name: \"Joe Blow\",
    date: \"Mon Oct 31 2016 00:         


        
5条回答
  •  清歌不尽
    2021-01-31 03:47

    You don't really need lodash. You can use JavaScript's Array.prototype.sort method.

    You'll need to create Date objects from your date strings before you can compare them.

    var myArray = [{
      name: "Joe Blow",
      date: "Mon Oct 31 2016 00:00:00 GMT-0700 (PDT)"
    }, {
      name: "Sam Snead",
      date: "Sun Oct 30 2016 00:00:00 GMT-0700 (PDT)"
    }, {
      name: "John Smith",
      date: "Sat Oct 29 2016 00:00:00 GMT-0700 (PDT)"
    }];
    
    myArray.sort(function compare(a, b) {
      var dateA = new Date(a.date);
      var dateB = new Date(b.date);
      return dateA - dateB;
    });
    
    console.log(myArray);

提交回复
热议问题