ホームページ  >  記事  >  バックエンド開発  >  jsの配列オブジェクトについての質問

jsの配列オブジェクトについての質問

WBOY
WBOYオリジナル
2016-06-23 13:56:371103ブラウズ

DOM にはそのような入力ノードのセットがあり、今は 1 つだけあると仮定します:

<input class="js_count" pid="3" value="1" />


すべての PID と値を取得し、配列またはオブジェクトを整理して、それらを他の関数に渡したい
var count = new Array();$('.js_count').each(function(){    var input = $(this);    var pid = input.attr('pid');    var val = input.attr('value');    count[pid] = val;});data = {    count : count};


しかし、どうなるでしょうか。私はalert(count)で取得します: 、、、1は、count[pid] = val;、pid=3の時点で発生しましたが、count[0]からcount[2]まで未定義が生成されたため、新しいものに置き換えましたArray()とnew Object()で大丈夫です
これはArrayオブジェクトの特性なのでしょうか?


ディスカッションへの返信 (解決策)

はい、Array オブジェクトの機能です
未定義の添え字を補完します

はい、Array オブジェクトの機能です
未定義の添え字を補完します



ありがとう、Bamboo
いくつかの情報を確認しました。N 次元配列とオブジェクト属性を含む、PHP のすべての変数は同じ変数ハッシュ テーブルにマッピングされているようです。したがって、PHP 配列は文字列または数値でインデックス付けできます。連続性を必要とせず、余分なメモリを占有しません。また、js の Array() は、C 言語での最も基本的な配列の実装であるようです。文字列のインデックスをいくつのデジタルに適用する必要があります。インデックスが使用されているため、未定義のものが多くあります。しかし、js 内のすべてはオブジェクトであると言う人もいますが、なぜ Array() はこのように動作するのでしょうか...理解できません

php の配列は実際の配列ではなく、配列という名前を使用しているだけです
の配列js は実数の配列であり、Victoria の

です
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。