JavaScriptオブジェクトをマージするさまざまな方法の詳細な説明

JavaScriptオブジェクトをマージするさまざまな方法の詳細な説明

オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル オブジェクトに割り当てる場合に非常に便利です)

最初の方法: 手動割り当て (非常に良い)

定数obj1 = {
  名前: "zs",
  年齢: 13,
};
定数obj2 = {
  名前: "ls",
  性別:「女性」、
};
obj1 の名前 = obj2 の名前;
obj1 の性別 = obj2 の性別;

この方法は最も簡単ですが、日常のプロジェクトではオブジェクトに多くのプロパティがあるため、この方法を引き続き使用すると少し面倒になります。

2番目: 拡張演算子

定数obj1 = {
  名前: "zs",
  年齢: 13,
};
定数obj2 = {
  名前: "ls",
  性別:「女性」、
};
定数 newObj = { ...obj1, ...obj2 };
console.log(newObj === obj1); //false
console.log(newObj === obj2); //false

スプレッド演算子を使用すると、オブジェクトを素早くマージできます。欠点は、新しい変数を使用して結果を受け取る必要があることです。

3番目の方法: Object.assign() (最も推奨)

定数obj1 = {
  名前: "zs",
  年齢: 13,
};
定数obj2 = {
  名前: "ls",
  性別:「女性」、
};
obj1 と obj2 をオブジェクトに代入します。
console.log(newObj === obj1); //true
console.log(newObj === obj2); //false
コンソールにログ出力します。
// {
// 名前:'ls',
//年齢:13,
// 性別:'女性'
// }

Object.assign() メソッドは、ターゲット オブジェクトと 1 つ以上のソース オブジェクトをパラメーターとして受け取ることができます。オブジェクトが同じプロパティを持つ場合、後者のオブジェクトのプロパティが前者のオブジェクトのプロパティを上書きします。

原則としては、設定されたアクセス属性を通じて後続のオブジェクトをターゲット オブジェクトに追加するため、最終的に返される値は実際には最初のターゲット オブジェクトになります。ターゲット オブジェクトにアクセス属性を追加して、上書きプロセスを確認できます。

定数obj1 = {
  設定する(値) {
    コンソールログ(val);
  },
};
オブジェクトを割り当てます(obj1、{a: "トム" }、{a: "ジェリー" }、{a: "犬" });
//'トム'
//'ジェリー'
//'犬'

この方法は多くのシナリオで使用でき、特に次のような場合に便利です。

1.vueプロジェクトのクリアフォーム

学生の中には、フォーム内のデータに空の値を一つずつ割り当ててフォームをクリアする人もいるかもしれません。実際、効率は非常に低いです。しかし、Object.assign() と $options を一緒に使用すると、効率は非常に高くなります。

// 毎日 this.ruleForm.name='';
this.ruleForm.phone='';
this.ruleForm.imgUrl='';
this.ruleForm.des='';
...ここでは10,000語を省略 // Object.assignと$optionsを使用する
オブジェクト.assign(this.ruleForm,this.$options.data)

ヒント: $options は Vue インスタンスの初期値を保存するので、Object.assign() の上書き値機能を使用して、フォームをすばやくリセットできます。同様に、フォーム データを変更する場合は、ページの ruleForm をすばやく割り当てることもできます。

const {データ} = xxxApi.getList() を待機します。
オブジェクトにルールを割り当てます(this.ruleForm、データ)。

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • jsは複数のオブジェクトを1つのオブジェクトにマージし、メソッドの実装を割り当てます
  • JavaScript で 2 つの配列オブジェクトを結合する方法
  • Javascript オブジェクトマージ操作例の分析
  • JavaScriptにおける配列結合方法とオブジェクト結合方法の詳しい説明
  • JavaScript で 2 つの Json オブジェクトを結合する方法の例

<<:  CentOS8.1 で Gitlab サーバーを構築するための詳細なチュートリアル

>>:  MySQL 学習ノート: 完全な SELECT ステートメントの使用例と詳細な説明

推薦する

MySQLインスタンスが起動できない問題の分析と解決

目次序文シナリオ分析要約する序文数日前、友人がWeChatで私に連絡してきて、マシンがダウンタイムか...

Vue vee-validateプラグインの簡単な使い方

目次1. インストール2. インポート3. 検証ルールを定義します(エクスポート用に js ファイル...

Vue2.0/3.0双方向データバインディングの実装原理の詳細説明

Vue2.0/3.0双方向データバインディングの実装原理双方向データバインディングとは、データの変更...

jQuery タグセレクターの適用例の詳細な説明

この記事では、jQueryタグセレクターアプリケーションの具体的なコードを例として紹介します。具体的...

CocosCreatorプロジェクト構造の仕組みの詳細な説明

目次1. プロジェクトフォルダ構造1. アセットフォルダ2. 図書館3. ローカル設定(ローカル) ...

WeChatアプレットがSMS認証コード送信のカウントダウンを実装

この記事では、WeChatアプレットがSMS認証コードのカウントダウンを送信するための具体的なコード...

スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...

Javascript 非同期プログラミング: Promise を本当に理解していますか?

目次序文基本的な使い方文法エラー処理プロミスチェーン呼び出し非同期と待機よく使われる方法1. Pro...

ブラウザ間の hr 区切り文字の違い

Webページを作るときに、区切り線hrを使うことがありますが、IE6やIE7で表示するのは非常に苦痛...

Vueプロジェクトのパッケージ化の詳細な説明

目次1. 関連構成ケース1(使用ツールはvue-cil)ケース2(使用するツールはwebpack) ...

デザイン理論: デザインにおける階層

<br />原文: http://andymao.com/andy/post/80.ht...

require/import キーワードを使用して v-for ループでローカル画像をインポートするいくつかの方法

目次問題の説明方法 1 (バックエンドが画像 URL を返す)方法 2 (フロントエンドで requ...

ウェブサイト標準の検証方法を通じてFlashページを共有する方法

1. 埋め込みは違法です<embed> タグは Netscape のプライベート タグで...

xtrabackup による MySQL データベースのバックアップと復元

mysqldump バックアップは、その独自の特性 (テーブルのロック、基本的に挿入スクリプトまたは...

HTML に CSS を導入するいくつかの方法の紹介

目次1. HTMLタグ要素にCSSスタイルを直接埋め込む2. HTMLのheadセクションにおけるス...