2016-04-13 26 views
9

Tôi đang sử dụng v4.11.0. Tôi muốn sắp xếp các đối tượng dựa trên thuộc tính milliseconds. Dưới đây là các mảng:order lodashBy trên thuộc tính lồng nhau

[ 
    { 
     "name": "bug12755.xml", 
     "list": "bugs42", 
     "start-date": "2015-09-14", 
     "age": { 
      "text": "7 months", 
      "milliseconds": 18381227304 
     } 
    }, 
    { 
     "name": "bug12922.xml", 
     "list": "bugs42", 
     "start-date": "2015-08-27", 
     "age": { 
      "text": "8 months", 
      "milliseconds": 19936427304 
     } 
    }, 
    { 
     "name": "bug13183.xml", 
     "list": "bugs50", 
     "start-date": "2015-08-27", 
     "age": { 
      "text": "8 months", 
      "milliseconds": 19936427305 
     } 
    } 
] 

tôi là thiếu một cái gì đó cơ bản về iteratee chức năng. Tôi có điều này nhưng dường như không sắp xếp mảng. Cảm ơn trước!

_.orderBy(list, function(item) { 
      return item.age.value; 
     }, ['desc']); 

Trả lời

10

Dường như bạn đang đặt hàng bởi bất động sản value.

u.orderBy(list, function(e) { return e.age.milliseconds}, ['desc']); 
+0

Hãy cẩn thận với bất kỳ ai sắp xếp bằng chữ cái. Lodash không thực hiện thứ tự sắp xếp tự nhiên trên các chữ cái https://stackoverflow.com/questions/37848030/lodash-how-to-do-a-case-insensitive-sorting-on-a-collection-using-orderby – steampowered

Các vấn đề liên quan