2014-01-29 6 views
1

나는이 다음과 같은 배열 :lodash에서 .uniq 함수를 사용할 때 어떻게 [isSorted = true]를 지정합니까?

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"} 
] 

I : 내가하고 싶은 무엇

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 = _.uniq(tst, 'topicId'); 

하지만 내 배열이 항상 정렬되므로 [isSorted = true] 옵션을 어떻게 사용할 수 있습니까? 또한 'topicId' 이 (가) 정렬 기준 인수로 간주됩니까?

+0

을 : 에서 다음과 같이 귀하의 예제에서 그래서 http://lodash.com/docs#uniq

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

, 당신은 그것을 사용하는 것이 객체가 제공되면 ".pluck"또는 ".where"스타일 콜백을 생성하는 데 사용됩니다. "* 예제를 보면 모든 것이 있습니다. –

답변

3

질문에 대한 답변이 있습니다. . * "반복마다 호출되는 함수의 경우 속성 이름 또는 : 콜백에 관한 문서에서 또한

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

나를 혼란스럽게하는 것은 무엇입니까. .uniq은 어떤 인수가 어떤 것을 알고 있습니까? – Melina

+2

@Melina : 아마도 인수의 데이터 형식을 검사합니다. 소스 코드 (소스와의 문서 링크)를 살펴보십시오. https://github.com/lodash/lodash/blob/2.4.1/dist/lodash.compat.js#L5332 –

+0

Felix가 언급했듯이, 인수의 데이터 유형을 점검합니다. 부울 인 경우 지정했음을 알지만 그렇지 않으면 해당 인수를 생략 한 것입니다. – Etai