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

推薦する

Dockerを使用してElasticsearchクラスターを素早くデプロイする方法

この記事では、 Dockerコンテナ ( docker-composeを使用してオーケストレーション...

vue3.0共通コンポーネントの自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

Docker がデータベースのデプロイに適さない 7 つの理由のまとめ

Docker は過去 2 年間で非常に人気が高まっています。開発者はすべてのアプリケーションとソフト...

Vueは小さなフォーム検証機能を実装します

この記事では、フォーム検証を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

Vue の高度な使用方法チュートリアル 動的コンポーネント

目次基本的な説明AST 解析レンダリング機能通常コンポーネントと動的コンポーネントの比較ファクトリ関...

ウェブページでコンテンツを引用するためによく使われるHTMLタグをマスターする

長い引用には blockquote を、短い引用には q を、参考文献には cite を使用します。...

Dockerコンテナの自動終了を停止する方法の詳細な説明

この記事では、Docker コンテナとフロントエンド プロセスの関係と、コンテナを永続的に実行できる...

CocosCreatorの共通知識ポイントを整理する

目次1. シーンの読み込み2. ノードを見つける1. ノード検索2. その他のノード操作3. 再生ア...

dockerコンテナにvimをインストールするソリューション

目次物語の始まりvimをインストールし、hadoop-hive.envを編集します。不注意で回避しま...

MySQL ステートメントの概要

目次1. データベースの使用を選択2. 情報を表示する3. テーブルを作成する4. データを挿入する...

JavaScript での正規表現の使用について詳しく学ぶ

目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....

Nginx+FastDFSでイメージサーバーを構築

設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...

重複データの処理に関するMySQL学習ノート

MySQLは重複データを処理します一部の MySQL テーブルには重複レコードが含まれている場合があ...

Nginx ベースの HTTPS ウェブサイトを設定する手順

目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...

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

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