Js lodash sort by deeper field

与世无争的帅哥 提交于 2019-12-23 07:22:03

问题


I have an array of objects annd i want to sort by deeper field. How can i do this?

var array =    
   {
     "id": 27,
     "name": "La Primita Product",
     "lottery": {
        "id": 1,
        "name": "La Primitiva",
        "jackpotAmount": 10000,
      }
   },
    {
     "id": 28,
     "name": "La Primita Product",
     "lottery": {
        "id": 1,
        "name": "La Primitiva",
        "jackpotAmount": 10000,
    }

How can i sort by lottery.jackpotAmount?


回答1:


To _.sortBy you can pass callback as a second argument, like this

var array = [{
  "id": 27,
  "name": "La Primita Product",
  "lottery": {
    "id": 1,
    "name": "La Primitiva",
    "jackpotAmount": 10000,
  }
}, {
  "id": 28,
  "name": "La Primita Product",
  "lottery": {
    "id": 1,
    "name": "La Primitiva",
    "jackpotAmount": 10,
  }
}];

array = _.sortBy(array, function (el) {
  return el.lottery.jackpotAmount;
});

console.log(array);
<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>


来源:https://stackoverflow.com/questions/27526612/js-lodash-sort-by-deeper-field

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!