谷神后端数据克隆

clone
/**
 * clone
 *
 * @param $src:源数据
 * @param $options:克隆选项
 *
 * @return data
 *
 */
#function clone($src, $options)
	#if ($vs.util.isString($options))
		#set($options = $vs.util.fromJson($options))
	#end
	#if ($vs.util.isMap($src))
		#set($result = $vs.util.newMap())
		#if ($vs.util.isMap($options))
			#foreach ($key in $vs.util.getMapKeys($options))
				$result.put($options.get($key), $src.get(key))
			#end
		#end
		#if ($vs.util.isList($options))
			#foreach ($key in $options)
				$result.put($key, $src.get(key))
			#end
		#end
		return $result
	#end
	#if ($vs.util.isList($src))
		#set($result = $vs.util.newList())
		#foreach ($item in $src)
			$result.add(@clone($item, $options))
		#end
	#end
#end
simpleClone
/**
 * simpleClone
 *
 * @param $src:源数据
 * @param $option:克隆设置
 *
 * @return data
 *
 */
#function simpleClone($src, $option)
	#if ($vs.util.isString($option))
		#set($option = $vs.util.fromJson($option))
	#end
	#if ($vs.util.isMap($src))
		#set($result = $vs.util.newMap())
		#foreach ($key in $vs.util.getMapKeys($option))
			#set($srcItem = $src.get($key))
			#set($optionItem = $option.get($key))
			#if($vs.util.isMap($optionItem))
				$result.put($key, @simpleClone($srcItem, $optionItem))
			#else
				$result.put($optionItem, $srcItem)
			#end
		#end
		return $result
	#end
	#if ($vs.util.isList($src))
		#set($result = $vs.util.newList())
		#foreach ($item in $src)
			$result.add(@simpleClone($item, $option))
		#end
		return $result
	#end
#end
copy
/**
 * copy
 *
 * @param $src:源数据
 * @param $target:目标数据
 * @param $option:克隆设置
 *
 * @return data
 *
 */
#function copy($src, $target, $option)
	#if ($vs.util.isString($option))
		#set($option = $vs.util.fromJson($option))
	#end
	#if ($vs.util.isMap($src))
		#if ($vs.util.isNull($target))
			#set($target = $vs.util.newMap())
		#end
		#if ($vs.util.isMap($option))
			#foreach ($key in $vs.util.getMapKeys($option))
				$target.put($option.get($key), $src.get(key))
			#end
		#end
		#if ($vs.util.isList($option))
			#foreach ($key in $option)
				$target.put($key, $src.get(key))
			#end
		#end
		return $target
	#end
	#if ($vs.util.isList($src))
		#if ($vs.util.isNull($target))
			#set($target = $vs.util.newList())
		#end
		#foreach ($item in $src)
			$target.add(@clone($item, $option))
		#end
	#end
#end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值