擬似配列と配列 JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他すべてはオブジェクトです。 オブジェクトと配列の関係違いについて話す前に、JavaScript のプロトタイプ継承という別の知識について触れておく必要があります。 JavaScript の組み込みコンストラクターはすべて Object.prototype から継承します。 この前提の下では、new Array() または [] を使用して作成された配列オブジェクトは Object.prototype のプロパティ値を持つことがわかります。 var obj = {}; // Object.prototype のプロパティ値を持ちます var arr = []; //Array.prototypeのプロパティはObject.prototypeから継承されるため、配列リテラルを使用して配列が作成されます。 //するとArray.prototypeとObject.prototypeの両方のプロパティ値を持つことになります オブジェクトと配列の最初の違いは、オブジェクトには配列の Array.prototype プロパティ値がないことです。 配列とは何か配列には、オブジェクトにはない基本的な機能であるインデックスがあります。コードの一部を見てみましょう。 var obj = {}; var arr = []; obj[2] = 'a'; arr[2] = 'a'; console.log(obj[2]); // => a console.log(arr[2]); // => a console.log(obj.length); // => 未定義 console.log(arr.length); // => 3
疑似配列とは何ですか?
疑似配列は、配列のような長さ属性を持ち、さらに 0、1、2、3 などの属性も持つオブジェクトです。配列のように見えますが、配列ではありません。例: var 偽の配列 = { "0": "最初", "1": "秒", "2": "3番目", 長さ: 3 }; (var i = 0; i < fakeArray.length; i++) { コンソールにログ出力します。 } Array.prototype.join.call(fakeArray,'+'); 一般的な疑似配列は次のとおりです。
疑似配列はオブジェクトですが、実際の配列は配列です。 疑似配列の目的は、通常のオブジェクトが次のような配列の多くのメソッドを通常どおりに使用できるようにすることです。 var arr = Array.prototype.slice.call(引数); Array.prototype.forEach.call(引数, 関数(v) { // 引数オブジェクトをループします }); // 押す //いくつかの // 毎 // フィルター // マップ // ... 上記は、配列プロトタイプ メソッドを借用するときに配列リテラルを使用することで簡略化できます。 var obj = { 0: 'あ'、 1: 'b'、 2: 'c'、 長さ: 3 } ;[].push.call(obj, 'd') コンソールログ([].slice.call(obj)) ;[].forEach.call(obj, 関数(num, インデックス) { コンソール.log(数値) }) 両者の違い1. 長さ:
2. 方法の使用:
まとめ オブジェクトには配列プロパティ値がありません。プロトタイプの型は Object ですが、配列の型は Array です。 要約するJavaScript の擬似配列と配列の使い方と違いについての記事はこれで終わりです。JavaScript の擬似配列と配列に関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcat サービスに Java 起動コマンドを追加する方法
>>: MySQL データベース内の数十億のデータを素早くクリーンアップする方法
目次2. 試した方法2.1 キープアライブ2.2 ネストされたルートを持つ CSS 3. 機能説明4...
要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...
PHP Linux に XML 拡張機能をインストールする1. PHPインストールソースパッケージを...
システムの crontab を使用して定期的にバックアップ ファイルを実行し、バックアップ結果を日付...
span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...
この記事では、HTML描画ユーザー登録ページの具体的な実装コードを参考までに共有します。具体的な内容...
目次序文環境の準備カテゴリコンポーネントアプリのコンポーネント1. デフォルトスロット2. 名前付き...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
早朝に MySQL 5.7.19 のインストールを終えたばかりですが、午前中に MySQL が最新バ...
目次1. テーブル自動ソート2. ページング機能3.el-checkbox-group 複数選択ボッ...
オブジェクトの hasOwnProperty() メソッドは、オブジェクトに特定の独自の (継承され...
目次背景コモンズチャンクプラグイン分割チャンク構成リソースを非同期に読み込む要約する背景高性能なアプ...
DNMP の紹介DNMP (Docker + Nginx + MySQL + PHP7/5 + Re...
序文Linux のファイルまたはディレクトリの権限については、通常の rwx 権限についてすべて知っ...
プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...