我有这个数组
const array = [ {value: 1, selected: false, highlighted: true},
{value: 3, selected: true, highlighted: true},
{value: 4, selected: false, highlighted: false},
{value: 2}, selected: true, highlighted: false ]
我想从上面生成三个子集数组,它们是
突出显示
,
挑选出来的
和
selected高亮显示
我可以使用array.filter方法实现,如下所示
const selected = array.filter((i) => i.selected)
const highlighted = array.filter((i) => i.highlighted)
const selectedHighlighted = array.filter((i) => i.selected && selectedHighlighted)
我的问题是,我如何以最佳方式做到这一点,上面的代码有3个循环,如果我使用类似forEach的方法,检查其中的条件,并将对象推送到相应的数组,这不是比上述方法更优化吗?