在javascript列表上迭代并处理特定对象

在javascript列表上迭代并处理特定对象,javascript,underscore.js,Javascript,Underscore.js,我有一个对象的集合(列表),如下所示 books{ book1[ isSelected = false; /*other properties*/ ], book2[ isSelected = true; /*other properties*/ ], book3[ isSelected = false; /*other properties*/ ] } 我想迭代此列表,并将所有具有属性isSelected的对象打印为true,然后将所有具

我有一个对象的集合(列表),如下所示

books{
 book1[
   isSelected = false;
   /*other properties*/
 ],

 book2[
   isSelected = true;
   /*other properties*/
 ],

  book3[
   isSelected = false;
   /*other properties*/
 ]
}
我想迭代此列表,并将所有具有属性
isSelected
的对象打印为
true
,然后将所有具有属性
isSelected
的对象打印为
false


请在这个方法上指导我

vanilla JS中的一个简单解决方案是按属性对数组排序:

books.sort(function(a, b) {
    return b.isSelected - a.isSelected
})
一种方法是:

r = _.groupBy(books, 'isSelected')
console.log(r[true]);
console.log(r[false]);