2

JSONiq 配列の重複を削除したいと思います。

let $x := [1, 2, 4 ,3, 3, 3, 1, 2, 5]

$x の重複を削除するにはどうすればよいですか?

4

3 に答える 3

0

置換機能を複数回使用します。

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)()

テスト ハーネスは次のとおりです。

于 2013-11-06T20:09:01.230 に答える