如何在不破坏对象的情况下替换对象的所有元素中的子字符串
How to Replace Substring in all Elements of Object without Destroying it
我需要替换对象中所有元素的子字符串。
例如替换 val1 和 val2 中的所有 'X':
{
"input": [
{
"val1": "008 X 148",
"val2": "SOME X DATA"
},
{
"val1": "X 005 5PM",
"val2": "SOME X DATA"
},
{
"val1": "MODTOX",
"val2": "X SOME X DATA"
}
]
}
我的初衷是使用 $map,然后使用 $each,如下所示:
$map(input, function($i)
{ $each($i, function($s)
{ $replace($s, "X", "Y" )
})
})
,但正如预期的那样,这会破坏对象。
有什么建议吗?最后 'input' 应该仍然是相同的结构。
您需要使用transform operator修改输入数据的副本:
$ ~> | input | $each(function($v, $n){{$n: $replace($v, "X", "Y") }} ) ~> $merge() |
我需要替换对象中所有元素的子字符串。
例如替换 val1 和 val2 中的所有 'X':
{
"input": [
{
"val1": "008 X 148",
"val2": "SOME X DATA"
},
{
"val1": "X 005 5PM",
"val2": "SOME X DATA"
},
{
"val1": "MODTOX",
"val2": "X SOME X DATA"
}
]
}
我的初衷是使用 $map,然后使用 $each,如下所示:
$map(input, function($i)
{ $each($i, function($s)
{ $replace($s, "X", "Y" )
})
})
,但正如预期的那样,这会破坏对象。
有什么建议吗?最后 'input' 应该仍然是相同的结构。
您需要使用transform operator修改输入数据的副本:
$ ~> | input | $each(function($v, $n){{$n: $replace($v, "X", "Y") }} ) ~> $merge() |