someArr
( php
나중에 javascript
타임 스탬프 ( *=1000
) 로 변환 될 타임 스탬프 배열)가 주어지면 lodash
s ...
_.sortedUniq(someArr)
모든 중복 값을 제거하여 다음과 같은 결과를 제공합니다.
Array.from(new Set(someArr))
누구든지 .sortedUniq()
중복을 제거하지 않는 이유를 설명 할 수 있습니까? 나는 또한 _.uniq()
그 문제에 대해 시도했다 . 내 가정이 잘못 되었습니까? 내 데이터 세트에 문제가 있습니까?
여기에 mcve
.
질문 자체는 내가 정의한 후에 언급 allVals
되지만, 내가 그것을하는 방법에 문제가있는 경우를 대비하여 내가 그것을 구성하는 방식을 떠났습니다. 초기 데이터 세트 배열은 php
출처이며 당분간 구조 측면에서 협상 할 수 없습니다.
에서 약간의 연습을하는 동안 저는 "학교에 다니는" 프로그래머 javascript
는 아니지만 디자인 배경에서 왔고 실습 코딩을 배웠기 때문에 제가 이해할 수있는 가능성을 배제하지 않았습니다. 특정 프로그래밍 패턴은 정확 하지 않습니다 .100%
철저한 설명을 부탁드립니다.
_.sortedUniq
이미 정렬 된 배열을 위해 설계되었습니다. 배열이 정렬되지 않았습니다.
그것을 대체 _.uniq
하는 것은 중복을 제거하는 데 작동 하는 것 같습니다. ( JSFiddle )
이미 정렬 된 것을 알고있는 경우 배열에서 중복을보다 효율적으로 제거 할 수 있습니다. 아마도 이것이 LoDash가 정렬 된 것과 정렬되지 않은 두 가지 경우에 대해 다른 기능을 포함하는 이유입니다.
그건 그렇고 uniqKeys === pointKeys
두 배열의 내용이 동일한 지 여부를 올바르게 확인하지 못합니다 . 배열은 동일한 숫자를 포함하더라도 별개의 객체이기 때문입니다. 대신이 작업을 수행 하는 함수 를 작성 하거나 isEqual
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다