JavaScript配列と、これらの配列でのインデックスの動作について混乱します。配列内のキー値要素の数にかかわらず、配列の長さは常に0です。また、キーが文字列であれば、配列には2つの要素しかないことがわかります。シナリオ1を考えてみましょう。私は次のコードを持っています。Javascript配列の不一致動作の表示
arr = [];
arr['home'] = 1234;
arr['cat'] = 12345;
console.log(arr.length);
console.log(arr);
次に第2のシナリオを検討し、私は、空の配列を有し、私は、配列の20インデックスにいくつかの番号を割り当てます。配列を出力すると、長さは21になり、他のすべての場所は '未定義'になります。第3のシナリオで今
arr = [];
arr[20] = 20;
console.log(arr.length); // Length shows 20 Size of array increased to 21
iがインデックス番号と列インデックスの両方を割り当てし、それは別の奇妙な挙動を示します。配列の長さは、文字列ベースのインデックスの値を数えません。私は4つの数値インデックスと1つの文字列ベースのインデックスを持っています。だから、長さは6でなければなりませんが、長さが5
arr = [];
arr[4] = 4;
arr['home'] = 'home';
console.log(arr);
を示して今私は、length関数は、文字列のインデックス付き項目を考慮していないのはなぜ2 questions.Firstlyを、持っていますか?次に、番号付きインデックスの場合、配列のサイズが少なくともその数に増やされるのはなぜですか?
配列には数字キーしかありません –
コードを実行しようとしましたか?これは私が質問したjavascriptです - @RolandStarke –