[TROUBLE 40] lengthプロパティで配列の要素数が取得できない | デザインってオモシロイ -MdN Design Interactive-

[TROUBLE 40] lengthプロパティで配列の要素数が取得できない

2024.4.20 SAT

【サイトリニューアル!】新サイトはこちらMdNについて

日々のデザイン現場で発生する問題・難題を解決します!

WEB制作トラブル速戦即決術! 第8回


[TROUBLE 40]
javaトラブル
lengthプロパティで
配列の要素数が取得できない

文=田中朋也(tiny-studio)

A. for in構文を利用して数をカウントする

配列オブジェクトのlengthプロパティの値は、配列のインデックスのうち、もっとも大きな整数値に1を足した値を保持している。このため、配列の作成時に配列の長さを指定した場合や、要素の格納先のインデックスが0から始まる連番になっていない場合、そして配列のキーに文字列を利用している場合など、要素数とlengthの値が一致しないことがある。このようなケースで配列の要素数を取得するにはfor-in構文を利用しよう。


hasOneElementはインデックスが0から始まる連番でないケース。definedLengthは配列の生成時に長さを指定しているケース。keyIs Stringはキーに文字列が指定されたケース。どれも要素はひとつだがlengthは1以外の値となる
hasOneElementはインデックスが0から始まる連番でないケース。definedLengthは配列の生成時に長さを指定しているケース。keyIs Stringはキーに文字列が指定されたケース。どれも要素はひとつだがlengthは1以外の値となる

for-in構文を利用すると配列のキーの種類に関係なく要素の数だけ処理を行える。これを利用して要素を数える関数を作成した。1行目から7行目の記述が関数の宣言で9行目以降は使用例だ
for-in構文を利用すると配列のキーの種類に関係なく要素の数だけ処理を行える。これを利用して要素を数える関数を作成した。1行目から7行目の記述が関数の宣言で9行目以降は使用例だ

前述の関数を配列オブジェクトのプロトタイプに追加すると、配列にcountメソッドを追加できる。こうすると、Array.pop()メソッドやArray.push()メソッドのように、配列名ドットcount()と記述することで、要素数を取得できる
前述の関数を配列オブジェクトのプロトタイプに追加すると、配列にcountメソッドを追加できる。こうすると、Array.pop()メソッドやArray.push()メソッドのように、配列名ドットcount()と記述することで、要素数を取得できる

[INDEX]
>>> [TROUBLE 39] IE 7でページを拡大するとテキストとフォームが重なる
>>> [TROUBLE 40] lengthプロパティで配列の要素数が取得できない
>>> [TROUBLE 41] 行数が増えるとtable要素のボーダーが消えてしまう
>>> [TROUBLE 42] PrototypeとjQueryを一緒に使ったら動作しない
>>> [TROUBLE 43] HTMLで確認すると外部画像が読み込まれない



『web creators』の情報はこちら!>>>

twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在