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 の
です