ホームページ > 記事 > ウェブフロントエンド > JavaScriptでオブジェクトの値をマージする方法について
この記事では主に JavaScript でのオブジェクト値のマージ方法を詳しく紹介します。これには特定の参照値があります。興味のある方は参考にしてください。
前書き: 日々の開発作業では、js のすべての値のコピーに遭遇することがあります。オブジェクト内の は、電子開発によるクライアントの改訂中に直面した設定マージの問題である可能性もあります。そこでこの記事では、この問題に対する簡単な解決策を紹介します。
はじめに: たとえば、obj1 と obj2 がある場合、obj2 の同じフィールドと同じ深さを持つ obj1 のすべての値を obj2 にコピーする必要があります。また、obj2 のフィールド構造を変更せずに維持する必要があります。メソッドを呼び出します (ES6 書き込みメソッドを使用)。
コード:
/** * 将src中的数据copy到dist中,并保留dist的结构 * @param src * @param dist */ copyValue(src, dist) { if (!src || typeof(src) !== 'object' || typeof(dist) !== 'object'){ return ; } let keys = Object.keys(dist) if (keys && keys.length > 0 && isNaN(keys[0])){ keys.forEach(key => { let value = dist[key] let srcVal = src[key] // 判断是不是对象,如果是则继续遍历,不是则开始赋值或忽略 if (value !== undefined && typeof(value) === 'object' && srcVal && typeof(srcVal) === 'object' && srcVal[0] === undefined){ copyValue(srcVal, value) } else if (value !== undefined && srcVal && typeof(value) == typeof (srcVal)){ // 如果源数据存在,并且类型一致,则开始赋值 dist[key] = src[key] } }) } },
上記は私が皆さんのためにまとめたもので、将来皆さんのお役に立てれば幸いです。
関連記事:
Angularを使用してテーブルフィルタリングを実装する方法
Chrome Firefoxにはデバッグツールが付属しています(詳細 チュートリアル)
vue-cli+webpackを使用してvueを構築する方法
JSを使用して複数のスクロールバーを制御して同期スクロールする方法
Webpackフレームワーク (コアテクノロジーをマスター)
webpack+expressを使用してマルチページサイト開発を実現する方法
以上がJavaScriptでオブジェクトの値をマージする方法についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。