1

我有以下数组:

var tst = 
[
 {"topicId":1,"subTopicId":1,"topicName":"a","subTopicName":"11"},
 {"topicId":1,"subTopicId":2,"topicName":"a","subTopicName":"22"},
 {"topicId":1,"subTopicId":3,"topicName":"a","subTopicName":"33"},
 {"topicId":2,"subTopicId":x,"topicName":"b","subTopicName":"xx"},
 {"topicId":3,"subTopicId":y,"topicName":"c","subTopicName":"yy"}
]

我想做的是使用 _lodash 的 _.uniq 函数

_.uniq(array, [isSorted=false], [callback=identity], [thisArg])

创建这个:

var t = 
[
 {"topicId":1,"subTopicId":1,"topicName":"a","subTopicName":"11"},
 {"topicId":2,"subTopicId":x,"topicName":"b","subTopicName":"xx"},
 {"topicId":3,"subTopicId":y,"topicName":"c","subTopicName":"yy"}
]

我知道我可以使用以下内容来执行此操作,但我不确定我是否理解这与我在文档中看到的函数定义的匹配程度:

var t = _.uniq(tst, 'topicId');

但是由于我的数组总是排序的,那么我该如何使用选项 [isSorted=true]。'topicId' 是否也被视为排序依据?

4

1 回答 1

2

你的问题有答案!来自: http: //lodash.com/docs#uniq

_.uniq(array, [isSorted=false], [callback=identity], [thisArg])

因此,在您的示例中,您将按如下方式使用它:

var t = _.uniq(tst, true, 'topicId');
于 2014-01-29T05:00:05.417 回答