JSONiq 配列の重複を削除したいと思います。
let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]
$x の重複を削除するにはどうすればよいですか?
JSONiq 配列の重複を削除したいと思います。
let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]
$x の重複を削除するにはどうすればよいですか?
置換機能を複数回使用します。
replace($x, "([1-5])(.*)\1", "$1")
これは完全に機能する JavaScript の等価物です:
[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()
以下は、重複を自動的に削除するメソッドを介した一般的な JavaScript の等価物です。
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)()
テスト ハーネスは次のとおりです。