擬似配列と配列 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 データベース内の数十億のデータを素早くクリーンアップする方法
目次1. 通常の機能2. 矢印関数3. データパケットJSON 4. オブジェクト5. 約束6. 非...
目次フロントエンド上記のアイデアに従って、ページめくり機能を設計して記述します。バックエンド(Jav...
みなさんこんにちは。私は梁旭です。ご存知のとおり、Linux ではデバイス ファイルも含めすべてがフ...
目次序文基本的な使い方文法エラー処理プロミスチェーン呼び出し非同期と待機よく使われる方法1. Pro...
効果画像:実装コードは以下のとおりですビュー <canvas id="radar-c...
具体的な方法:まずコマンドプロンプトを開きます。次に、[ mysql -u root -p ] コマ...
Flexbox レイアウト モジュールは、コンテナー内のスペースをより効率的に配分する方法を提供する...
1. nacosデータベースを再開します。データベース名nacos_configユーザー名とパスワー...
Web 上でフォントを使用することは、基本的なスキルであると同時に芸術でもあります。英語のフォントに...
Linux 操作実験環境: Centos7 仮想マシンまず、共通ユーザーgubeiqingを作成しま...
MySQLリモート接続の問題に関しては、会社で働いているときに誰かのコンピュータに保存されているMy...
序文この記事では主に、シングルクォートやバックスラッシュを含む値を挿入するMySQLステートメントに...
springmvc による Spring の統合Spring 統合 springmvc の web....
異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...
プロセスで使用されていて、誤って削除されたファイルがある場合、それらを回復することができます。プロセ...