Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
297 views
in Technique[技术] by (71.8m points)

javascript - Find object having maximum value for the `id` property in an array of objects

In my array of objects, I want to find the object with the highest value for the id property.

Here is my array:

myArray = [
  {
    'id': '73',
    'foo': 'bar'
  },
  {
    'id': '45',
    'foo': 'bar'
  },
  // …
];

Generally, I use $.grep to find values in an array, like this:

var result = $.grep(myArray, function (e) {
    return e.id == 73;
});

But in this case I need to provide a specific id value for the object I want to select.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The question states that he wants to find the object with the greatest id, not just the greatest id...

var myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}];

var max = myArray.reduce(function(prev, current) {
    if (+current.id > +prev.id) {
        return current;
    } else {
        return prev;
    }
});

// max == {'id':'73','foo':'bar'}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...