给定这样的数组
$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 的操作仅在函数内起作用。我怎么能这样做?