0

给定这样的数组

$s := [
"aString 1",
"bString",
"test",
"test 2",
"window 1",
"window 2",
"Garage",
"Sport",
"cString",
"etc"
]

我需要一个带有逗号分隔数组元素的字符串。
但是,子字符串的总长度不得超过 30。在这些点上,必须使用分号而不是逗号。

用一个简单的

$s ~> $join(',') 

我明白了

"aString 1,bString,test,test 2,window 1,window 2,Garage,Sport,cString,etc"

这里第 4 个和第 7 个逗号必须用分号替换,否则这些部分 >= 30 就像这样

"aString 1,bString,test,test 2;window 1,window 2,Garage;Sport,cString,etc"

JSONata 字符串函数有可能吗?

我尝试过使用这样的 $map() 函数:

(
$result := "";
 
$map($s , function($v){
      $result := $result & $v & ($length($result) < 30 ? ',' : ';')
});
)

但这不起作用。$result 的操作仅在函数内起作用。我怎么能这样做?

4

0 回答 0