我可以_.flatten基于多个属性?

时间:2014-07-09 12:59:05

标签: javascript underscore.js

我正在尝试使用下划线的flatten(),并想知道是否可以比较多个属性。我有一些具有这些属性的对象:

{
    type: type
    startId: startId
    endId: endId
    dateCreated: dates.dateCreated
    dateEffectiveStart: dates.dateEffectiveStart
    dateEffectiveEnd: dates.dateEffectiveEnd
}

我想比较startId和endId,如果我看到另一个具有相同开始和结束ID的对象,我想忽略它。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将flattenuniq结合起来。这应该做,你要求的是:

_.uniq(_.flatten(yourListOfObjects), function(o) {
   return o.startId + '<>' + o.endId;
});

如果您的ID恰好包含字符串'<>',请选择其他内容来连接两个ID。