JavaScriptで配列のようなオブジェクトを定義する方法

醉折花枝作酒筹
リリース: 2023-01-07 11:44:57
オリジナル
3928 人が閲覧しました

JavaScript で配列のようなオブジェクトを定義する方法は次のとおりです: 1. 最初に空のオブジェクトを作成します; 2. オブジェクトの数値添え字属性を直接定義します; 3. 重要な点は長さ属性を設定することですそして、オブジェクトの属性を数値と関数に接続します。

JavaScriptで配列のようなオブジェクトを定義する方法

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

js には配列のようなオブジェクトがたくさんあります。単純な概念は、それらは配列のように見えますが、配列ではないということです。これらのオブジェクトには、数値添字を使用してアクセスできますが、配列メソッドはありません。

例: 引数、NodeList、HTMLCollection、jQuery など

配列状オブジェクトの特徴

1. length 属性を持つ

var a=document.getElementsByTagName("p"); a.__proto__;// HTMLCollection {} 属于类数组对象a.length;//62
ログイン後にコピー

2. 数値添字を使用してオブジェクトにアクセスできます

a[0];//

ログイン後にコピー

3. 配列プロトタイプ メソッド (スライス、ポップなど) は使用できません

a.slice;//undefined Error! a.pop;//undefined Error!
ログイン後にコピー

4.instanceof の使用操作は Array

[] instanceof Array;//true a instanceof Array;//false
ログイン後にコピー

5 に属していません。実数配列オブジェクトに変換できます

var arr = Array.prototype.slice.call(a); arr instanceof Array;//true
ログイン後にコピー

PS: 一部のオブジェクトは、IE8 ではスライス メソッドを使用して実数配列オブジェクトに変換できないことに注意してください。 。

配列のようなオブジェクトを変換するには、jquery が提供する $.makeArray() メソッドを使用することをお勧めします

6。通常は他のカスタム属性を定義できます

a.item;//function item() { [native code] }
ログイン後にコピー

配列型オブジェクト メリット

メリットについては、あまり説明する必要もないと思いますが、jsでも他のバックエンド言語と同様の操作方法が可能になります。

たとえば、C# の一部のリスト コレクションは、数値添字 list[0] または文字列名 list['name'] を使用して同じオブジェクトにアクセスできます。

同時に同時に、さまざまなカスタム メソッド、カスタム属性も備えており、jquery オブジェクトのエレガントなアクセス メソッドによって、このような素晴らしいオブジェクトが素晴らしいオブジェクトであることがわかります。

配列のようなオブジェクトを手動で作成する方法

配列のようなオブジェクトを手動で作成する方法のトピックに戻ります。

1. まず空のオブジェクトを作成します

var array_like = {};//创建一个空对象
ログイン後にコピー

2. オブジェクトの数値添字属性を直接定義します。これは他の言語では絶対に許可されません。オブジェクト属性を数字で始めることはできませんが、数字で始めることは可能ですJS では中国語でも可能です

array_like[ 0 ] = "test 0"; array_like[ 1 ] = "test 1"; array_like[ 2 ] = "test 2"; array_like[ 3 ] = "test 3";
ログイン後にコピー

3。重要な点は、オブジェクトの長さ属性とスプライス属性を数値と関数として設定することです

//关键点 array_like.length = 4;//为对象设置length属性 array_like.splice = [].splice;//同时设置splice属性为一个函数
ログイン後にコピー

PS: スプライス属性の設定は実際にはブラウザのコンソールを欺いて配列を表示するには、ここを参照してください。

4、test

//设定自定义属性 array_like.test0=array_like[0]; array_like.test1=array_like[1]; //直接输出 console.log( array_like );//['test 0','test 1'...] //类型 console.log( $.type( array_like ) );//"object" //数字下标访问 console.log( array_like[ 0 ] );//"test 0" //自定义属性访问 array_like.test0;//"test 0" //不是数组对象 array_like instanceof Array;//false //转换为真数组对象 var Arr=Array.prototype.slice.call(array_like); Arr instanceof Array;//true
ログイン後にコピー

5、完全なコード:

var array_like = {}; array_like[ 0 ] = "test 0"; array_like[ 1 ] = "test 1"; array_like[ 2 ] = "test 2"; array_like[ 3 ] = "test 3"; array_like.length = 4; array_like.splice = [].splice; console.log( array_like ); console.log( $.type( array_like ) ); console.log( array_like[ 2 ] );
ログイン後にコピー

[推奨学習 :JavaScript 上級チュートリアル ##]

以上がJavaScriptで配列のようなオブジェクトを定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!