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 ステートメントの使用例と詳細な説明

推薦する

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...

Alibaba Cloud で静的ウェブサイトを素早く構築する方法

序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...

Linux システムで Code Cloud にプロジェクトをアップロードする方法

Code Cloudで新しいプロジェクトtest1を作成します。 公開鍵を取得するには次のコマンドを...

MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...

Vue はアップロードした画像に透かしを追加できるようになりました (アップグレード版)

vueプロジェクトでは、アップロードした画像に透かしを追加して参照できるようにするアップグレード版...

js 配列エントリ() 反復メソッドを取得する

目次1.entires() メソッドの詳細な構文2.entires() メソッドの一般的な使用法と注...

Linuxがすべてのコマンドをサポートしていない問題の解決策

Linux がすべてのコマンドをサポートしていない場合はどうすればいいですか?すべてのLinuxコマ...

Vue ミックスインの使い方の詳しい説明

目次Vue ミックスインの使用ミックスインでのデータアクセスミックスイン/index.jsホーム.v...

Bootstrap Webページレイアウトグリッドの実装

目次1. Bootstrapグリッドシステムの仕組み1.1 12グリッドシステム1.2 Bootst...

js 属性オブジェクトの hasOwnProperty メソッドの使用

オブジェクトの hasOwnProperty() メソッドは、オブジェクトに特定の独自の (継承され...

Nginx で 403 forbidden を解決するための完全な手順

ウェブページに403 Forbiddenと表示されるNginx (yum インストール ログは通常 ...

Vue Routerはバックグラウンドデータに応じて異なるコンポーネントをロードします

目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...

JavaScript の一般的なステートメント ループ、判定、文字列から数値

目次1. スイッチ2. whileループ3. Do/Whileループ3. 文字列を数値に変換する1....

MySQL サーバーの接続、切断、および cmd 操作

mysql コマンドを使用して MySQL サーバーに接続します。 MySQL サーバーが起動したら...

ウェブページレイアウトデザインのシンプルな原則

この記事では、Web ページ レイアウト デザインのいくつかの簡単な原則をまとめ、Web ページ デ...