JavaScript でオブジェクトのプロパティを削除する方法

JavaScript でオブジェクトのプロパティを削除する方法

1. 削除

delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」設定 object[key] = undefined よりも 100 倍遅くなります。

var myObject = {
    "ircEvent": "PRIVMSG",
    "メソッド": "newURI",
    "正規表現": "^http://.*"
};
myObject.regex を削除します。

コンソールにログ出力します。

delete 演算子は、指定されたプロパティをオブジェクトから削除します。削除が成功した場合は true を返し、それ以外の場合は false を返します。ただし、次のような状況では重要な考慮が必要です。

削除しようとしているプロパティが存在しない場合は、削除しても効果はありませんが、true が返されます。

オブジェクトのプロトタイプ チェーンに、削除するプロパティと同じ名前のプロパティがある場合、プロパティを削除した後、オブジェクトはプロトタイプ チェーン上のプロパティを使用します (つまり、削除操作は自身のプロパティに対してのみ機能します)。

var で宣言されたプロパティは、グローバル スコープまたは関数のスコープから削除することはできません。

この場合、削除操作では、グローバル スコープ内の関数を削除できません (関数が関数宣言からのものか関数式からのものかに関係なく)。

削除できないグローバル スコープ内の関数を除き、オブジェクト内の関数は delete 操作を使用して削除できます。

let または const で宣言されたプロパティは、宣言されたスコープから削除することはできません。

構成できないプロパティは削除できません。つまり、Math、Array、Object などの組み込みオブジェクトのプロパティや、Object.defineProperty() メソッドを使用して設定不可に設定されたプロパティは削除できません。

2. obj.field = 未定義;

この選択はこの質問に対する正しい答えではありません。ただし、注意して使用すれば、一部のアルゴリズムを大幅に高速化できます。ループ内でdeleteを使用してパフォーマンスに問題がある場合は、詳細な説明を読んでください。

 var obj = {
     フィールド: 1     
 };
 obj.field = 未定義;

3. 配列内でdeleteを使用する

配列では、delete を使用するとフォーム内にゴミが残る単純な古いオブジェクトとは異なり、null は配列に「穴」を作成し、長さは変更されません。

var 配列 = [1, 2, 3, 4];
配列[2]を削除します。
/* 期待される結果 --> [1, 2, 4]
 * 実際の結果 --> [1, 2, null, 4]
 */

4. 配列内でのスプライスの使用

arrayObject.splice(インデックス、数、項目1、.....、項目X)

インデックス: 必須。整数。項目を追加/削除する位置を指定します。配列から項目を削除するには負の数を使用します。

最後に指定された位置。

数: 必須。削除するアイテムの数。 0 に設定すると、アイテムは削除されません。

項目1: オプション。配列に追加された新しい項目。

var arr = 新しい配列(6)
arr[0] = "ジョージ"
arr[1] = "ジョン"
arr[2] = "トーマス"
arr[3] = "ジェームズ"
arr[4] = "アンドリュー"
arr[5] = "マーティン"

document.write(arr + "<br />")
arr.splice(2,0,"ウィリアム")
document.write(arr + "<br />")
/*
*ジョージ、ジョン、トーマス、ジェームズ、アンドリュー、マーティン
*ジョージ、ジョン、ウィリアム、トーマス、ジェームズ、アンドリュー、マーティン
*/

要約する

JavaScript でオブジェクトのプロパティを削除する方法についての記事はこれで終わりです。JavaScript でオブジェクトのプロパティを削除する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • AngularJSループオブジェクトプロパティで動的列を実装するアイデアの詳細な説明
  • JavaScriptはオブジェクトの不要なプロパティを削除します
  • springboot post インターフェースが json を受け入れる場合、それがオブジェクトに変換されると、プロパティはすべて null になります。
  • JS でオブジェクト プロパティを簡単にトラバースするいくつかの方法
  • js 属性オブジェクトの hasOwnProperty メソッドの使用
  • JS hasOwnProperty() メソッドは、プロパティがオブジェクト自身のプロパティであるかどうかを検出します。
  • 例を通して JavaScript の Date オブジェクトのプロパティとメソッドを解析する
  • Java オブジェクトを JSON に変換する際のプロパティの動的な追加、削除、変更、クエリの詳細な説明
  • オブジェクトをJSONに変換する場合、Java jacksonはサブオブジェクトのプロパティ操作を無視します。
  • JavaScript オブジェクトの 3 つのプロパティ

<<:  MySQLの外部ネットワークアクセス権を開く方法

>>:  MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

推薦する

HTML/CSS におけるフロートの使用例の詳細

1. floatの基本的な使用例1. まず 2 つの div ボックスを作成し、高さ、幅、背景色を設...

CentOS7 で ethereum/Ethereum を最初からインストールする

目次序文sudo書き込み権限を追加するgit 2.9.0をインストールopenssl 1.1.1l ...

アバター変更機能を実装するJavaScript

この記事では、アバター変更機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

Linux システムで PATH 環境変数を設定する方法 (3 つの方法)

1. Windows システムでは、JDK のインストールなど、多くのソフトウェアのインストールで...

Vue ボタンの権限制御の導入

目次1. 手順1. ボタンの権限を定義する2. ストアを定義する3. 権限指示を作成する4. パーミ...

Lua モジュールを使用して WAF を実装する Nginx の原理の分析

目次1. WAFの背景2. WAFとは3. 動作原理4. WAF機能5. WAFと従来のファイアウォ...

あなたが知らない Linux KDE アプリケーション 11 選

翻訳Kool Desktop Environment の略称。 Linux、Unix、FreeBSD...

Vue の基本 MVVM、テンプレート構文、データバインディング

目次1. Vueの概要Vue公式サイトMVVM アーキテクチャ パターンVue の紹介2. Vueを...

Mysql varchar型の合計操作例

友人の中には、データベースについて学習しているときに、テーブル構造を作成するときに誤ってフィールドを...

JSの矢印関数におけるこのポイントの詳細な説明

矢印関数は ES6 の新機能です。独自の this はありません。その this ポイントは外部のコ...

ズームインとズームアウトの閉じるボタンを実現する CSS (サンプル コード)

この効果はブラウザ ページで最もよく見られます。まずは効果の画像をご覧ください。 上の図に示すように...

複数の X 軸を使用して 7 日間の天気予報を実現するための Echarts サンプル コード

目次UIデザインEcharts の例の効果序文サンプルコード最終結果UIデザイン Echarts の...

Vue での this.$set の動的データバインディングのケーススタディ

インターネット上の this.$set の説明はわかりにくいと感じます。単一データ、オブジェクト、配...

ビューポートの基本原理と詳細な使用方法

1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...

Vueモバイル端末が指のスライド効果を実現

この記事の例では、Vueモバイル端末で指のスライド効果を実現するための具体的なコードを紹介します。具...