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

时间:2015-05-28 10:08:10

标签: javascript underscore.js

我有一个像下面这样的对象的集合(列表),

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

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

  book3[
   isSelected = false;
   /*other properties*/
 ]
}

我想迭代这个列表并打印所有具有isSelected属性true的对象,然后将所有具有属性isSelected的对象打印为false。< / p>

请指导我这个方法。

1 个答案:

答案 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]);