All In One Script



PHP,HTLM,CSS,Jquery,AJAX,Javascript and etc doubts and sample codes

  • Home
  • Javascript
  • PHP
  • CSS
  • SQL/MYSQL

How to pick latest item per user from an array in Javascript?

by Blogger 9:14:00 PM array Javascript lodash sort

How to pick latest item per user from an array in Javascript?

For example, I have an array like this:
[ 
{  
  "data": "some data",
  "user": "A",
  "createdAt":"2016-12-24",
},
{
  "data": "some data2",
  "user": "B",
  "createdAt":"2016-12-24",
},
{
  "data": "some data3",
  "user": "A",
  "createdAt":"2016-12-25",
},
{
  "data": "some data4",
  "user": "A",
  "createdAt":"2016-12-23",
},
{
  "data": "some data5",
  "user": "B",
  "createdAt":"2016-12-25",
},
{
  "data": "some data6",
  "user": "C",
  "createdAt":"2016-12-24",
},
] 
I only need the latest created item per one user, so I need an array like this:
[ 
{
  "data": "some data3",
  "user": "A",
  "createdAt":"2016-12-25",
},
{
  "data": "some data5",
  "user": "B",
  "createdAt":"2016-12-25",
},
{
  "data": "some data6",
  "user": "C",
  "createdAt":"2016-12-24",
},
] 
How can I do it with underscore or lodash?


Answer :

lodash provides the orderBy and uniqBy methods.
The key is to order by user then by createdAt in descending order. Since createdAt is a Date it needs to be treated as such. Conveiniently, the orderBy method allows one to specify either the property to order by or a function to evaluate (which returns the object to order by, in this case Date).
Below's what I came up with:
var data = [{ ... }],
    sorted = _.orderBy(
      data,
      ['user', function(d) {
        return new Date(d.createdAt)
      }],
      ['asc', 'desc'] // 'desc' orders by date descending
    ),
    uniqued = _.uniqBy(sorted, 'user');
https://jsfiddle.net/rg21ddk7/1/

source: http://stackoverflow.com/questions/41310265/how-to-pick-latest-item-per-user-from-an-array#41310442








READ MORE
SHARE :

Search This Blog

Followers

  • Popular
  • Recent
  • Comments
    How to get Real IP,ISP,Country,City and etc from Visitor using PHP
    Get first key in a (possibly) associative array?
    Solved : curl_init() function not working in Ubuntu
    Does finally always execute in Java?
    How can I make the cursor a hand when a user hovers over a list item?
    How to efficiently iterate over each Entry in a Map?
    Window clearTimeout() Method
    Serving XHTML and self-closing tags
    Length of a JavaScript object
    How to check if PHP array is associative or sequential?

Instagram

About

Popular Posts

  • How to get Real IP,ISP,Country,City and etc from Visitor using PHP
    How to get Real IP,ISP,Country,City and etc from Visitor using PHP Php Get Real visiter's IP and ISP and Country and City and Countr...
  • Get first key in a (possibly) associative array?
    Get first key in a (possibly) associative array? What's the best way to determine the first key in a possibly associative array? My...
  • Solved : curl_init() function not working in Ubuntu
    Solved : curl_init() function not working in Ubuntu  Here solved the error  Fatal error: Call to undefined function curl_init() ...
  • Does finally always execute in Java?
    Does finally always execute in Java? I have a try/catch block with  return s inside it. Will the finally block be called? For example...
  • How can I make the cursor a hand when a user hovers over a list item?
    How can I make the cursor a hand when a user hovers over a list item? I've got a list, and I have a click handler for its items: ...
  • How to efficiently iterate over each Entry in a Map?
    How to efficiently iterate over each Entry in a Map? If I have an object implementing the  Map  interface in Java and I wish to iterate...
  • Window clearTimeout() Method
    Window clearTimeout() Method Definition and Usage The clearTimeout() method clears a timer set with the setTimeout() method. ...
  • Serving XHTML and self-closing tags
    Serving XHTML and self-closing tags I am trying to follow the xhtml 1.0 strict standard as I am creating my website. Right now, validat...
  • Length of a JavaScript object
    Length of a JavaScript object If I have a JavaScript object, say var myObject = new Object (); myObject [ "firstname" ] ...
  • How to check if PHP array is associative or sequential?
    How to check if PHP array is associative or sequential? PHP treats all arrays as associative, so there aren't any built in function...

statcounter



statcounter



Template Created By ThemeXpose & Blogger Templates