JSONiq 배열에서 중복을 삭제하고 싶습니다.배열에서 중복 제거 (JSONiq)
let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]
어떻게하면 $ x에서 중복을 제거 할 수 있습니까?
JSONiq 배열에서 중복을 삭제하고 싶습니다.배열에서 중복 제거 (JSONiq)
let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]
어떻게하면 $ x에서 중복을 제거 할 수 있습니까?
let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]
return [ distinct-values($x[]) ]
사용 replace function 여러 번 :
: 여기[1,2,4,3,3,1,2,5].toString().replace(/([1-5]),(\1)/g, "$1").replace(/(,[1-5])(.*)(\1)/g,"$1$2").replace(/([1-5])(.*)(,\1)/g,"$1$2")
자동으로 중복을 제거
JSON.parse()
방법을 통해 일반적인 자바 스크립트 것과 같습니다
replace($x, "([1-5])(.*)\1", "$1")
다음은 완전한 기능을 자바 스크립트 상당의
var foo = [1,2,4,3,3,1,2,5];
var bar = "{" + foo.toString() + "}"
var baz = bar.replace(/(\d)(.)/g , '\u0022$01\u0022:\u0022\u0022$02')
var bop = JSON.parse(baz)
var buz = JSON.stringify(bop).replace("{","[").replace("}","]").replace(/:""/g,"")
var result = Function("return" + buz)()
He 확실히이 문제에 대한 이동하는 방법이 대체되지 않습니다
정규 표현식 : 재 테스트 하네스입니다.
마티아스의 솔루션은 조르바를 시도 작동하지 않지만
, this script을 수행합니다 그것은 반환let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]
return [ distinct-values(jn:members($x)) ]
(위 링크를 시도) :
[ 1, 2, 3, 4, 5 ]
스크립트는 좀 더 자세한 정보에 대한 있어야합니다 DataPower Gateways JSONiq 프로세서. 무료로 예쁜 인쇄 결과를 얻을 수 있습니다.
$ cat dv.xq
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method "json";
declare option jsoniq-version "0.4.42";
[ distinct-values(jn:members(.)) ]
$
$ coproc2 dv.xq <(echo '[1, 2, 4 ,3, 3, 3, 1, 2, 5]') http://dp1-l3:2226; echo
[
1,
2,
4,
3,
5
]
$
헤르만.