Underscore JS Sortby多维度

时间:2014-05-16 14:40:22

标签: underscore.js

任何人都可以帮助使用下划线对多维列表进行排序

例如

    [
  {
    "pageid": "129",
    "PageTitle": "cp2 pg1",
    "Index": [
      {
        "title": "Index-1"
      }
    ]
  },
  {
    "pageid": "130",
    "PageTitle": "cp2 pg1",
    "Index": [
      {
        "title": "Index-3"
      }
    ]
  },
  {
    "pageid": "170",
    "PageTitle": "cp2 pg1",
    "Index": [
      {
        "title": "Index-2"
      }
    ]
  }
]

我想通过索引标题对它们进行排序,因此我得到索引1,2和3。

到目前为止,这是我的尝试:

var prevpage_nav_obj = _.sortBy(prevpage_nav_obj, function (item) {
                item.Index.title
            });

1 个答案:

答案 0 :(得分:0)

  1. 您的Index属性是一个数组,而不是一个字符串,因此您的索引值应该看起来像item.Index[0].title或从数组中获取足够的值

  2. 您忘记返回索引值

  3. 导致

    _.sortBy(prevpage_nav_obj, function (item) {
        return item.Index[0].title;
    });
    

    和演示http://jsfiddle.net/nikoshr/Mn6J5/1/