我有一个像下面这样的对象的集合(列表),
books{
book1[
isSelected = false;
/*other properties*/
],
book2[
isSelected = true;
/*other properties*/
],
book3[
isSelected = false;
/*other properties*/
]
}
我想迭代这个列表并打印所有具有isSelected
属性true
的对象,然后将所有具有属性isSelected
的对象打印为false
。< / p>
请指导我这个方法。
答案 0 :(得分:2)
vanilla JS中的一个简单解决方案是按属性对数组进行排序:
books.sort(function(a, b) {
return b.isSelected - a.isSelected
})
下划线方式为groupBy
:
r = _.groupBy(books, 'isSelected')
console.log(r[true]);
console.log(r[false]);