ホームページ  >  記事  >  ウェブフロントエンド  >  jsオブジェクトのディープクローン作成例の詳細説明

jsオブジェクトのディープクローン作成例の詳細説明

小云云
小云云オリジナル
2018-03-12 16:23:521550ブラウズ

オブジェクトのクローンは、開発プロセス中に頻繁に発生します。浅いクローン作成が必要な場合もあれば、深いクローン作成が必要な場合もあります。この記事では、主に JS オブジェクトの詳細なクローン作成の例を説明します。

// 深度克隆
function deepClone(origin, target) {
var target = target || {};
for (var prop in origin) {
if (origin.hasOwnProperty(prop)) {
if (origin[prop] !== null && typeof origin[prop] === 'object') {
target[prop] = Object.prototype.toString.call(origin[prop]) === '[object Array]'? [] : {};
deepClone(origin[prop], target[prop]);
} else {
target[prop] = origin[prop]
}
}
}
}
var obj = {
name: 'name',
arr: [1, 2, 3],
obj: { a: 'a' },
f: function () {
}
}
var obj1 = {};
deepClone(obj, obj1)
console.log(obj1)

関連する推奨事項:

1 行のコードによる純粋なデータ JSON オブジェクトのディープ クローン作成の実装アイデア_JavaScript スキル

JavaScript オブジェクトのディープ クローン作成の概要_JavaScript スキル

クローン オブジェクト メソッドのサンプル チュートリアル

以上がjsオブジェクトのディープクローン作成例の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。