AS2.0&3.0 参照型変数をコピーしたい


・参照型変数(配列やオブジェクト)は、代入ではコピーすることができないので、
 この関数の出番です。

・copyReferenceTypeVariable(コピーしたい参照型変数)
 返り値は、コピーされた値です。

・色々役立ちます。

-----------------------------------------------------------------------------------------

function copyReferenceTypeVariable(obj:Object):Object
{
	var res:Object;
	if (obj.length != undefined)
	{
		res = [];
		for (var i:Number = 0; i < obj.length; i++)
		{
			if (typeof(obj[i]) == "object")
			{
				res[i] = copyReferenceTypeVariable(obj[i]);
			}
			else
			{
				res[i] = obj[i];
			}
		}
	}
	else
	{
		res = {};
		for (var element in obj)
		{
			if (typeof(obj[element]) == "object")
			{
				res[element] = copyReferenceTypeVariable(obj[element]);
			}
			else
			{
				res[element] = obj[element];
			}
		}
	}
	return res;
}

-----------------------------------------------------------------------------------------

Copyright © 2008-2024 Nekorald All rights reserved.