Javascript 根据数组中的某些条件按数组元素分组

Javascript 根据数组中的某些条件按数组元素分组,javascript,jquery,Javascript,Jquery,我有一个50个元素的数组,每个元素都有一些记录类型。我需要使用jquery过滤类似记录类型的元素。我该怎么做呢 请帮助将类似元素除以一个简单的属性,您可以使用: 是否可以在问题中包括数组、记录类型的示例? //Elements to divide into buckets according to their foo value: var elems = [ {foo: 1, bar: 23} , {foo: 2, bar: 24} , {foo: 1, bar: 25} , {foo: 2

我有一个50个元素的数组,每个元素都有一些记录类型。我需要使用jquery过滤类似记录类型的元素。我该怎么做呢


请帮助

将类似元素除以一个简单的属性,您可以使用:


是否可以在问题中包括数组、记录类型的示例?
//Elements to divide into buckets according to their foo value:
var elems = [
  {foo: 1, bar: 23}
, {foo: 2, bar: 24}
, {foo: 1, bar: 25}
, {foo: 2, bar: 26}
, {foo: 2, bar: 27}
, {foo: 3, bar: 29}
];
//Sorting elements into buckets depending on foo:
var buckets = {};
for(var i = 0; i < elems.length; i++){
  var elem = elems[i];
  if(elem.foo in buckets){
    buckets[elem.foo].push(elem);
  }else{
    buckets[elem.foo] = [elem];
  }
}
//Iterating buckets to display output:
var keys = Object.keys(buckets);
for(var i = 0; i < keys.length; i++){
  var key = keys[i];
  console.log(key+' => '+JSON.stringify(buckets[key]));
}
1 => [{"foo":1,"bar":23},{"foo":1,"bar":25}]
2 => [{"foo":2,"bar":24},{"foo":2,"bar":26},{"foo":2,"bar":27}]
3 => [{"foo":3,"bar":29}]