Array

Q
添え字に関する留意点
A1
Arrayオブジェクトの添え字には、数値と文字列を使用することが可能ですが、下記の内容について留意してください。

(1)数字のみの文字列を指定した場合、数値を指定した場合と同じになります。
(2)数値または数字のみの文字列を指定した場合、自動的に0から指定した数値までの
  要素が追加されます。
(3)連想配列とした場合、lengthプロパティを利用することはできません。

 例)数字のみの文字列を指定した場合
   Array a;
   a["10"] = "ABC";
   a[10] = "DEF";
   print( a["10"] ); /* "DEF"と出力される */
   print( a.length ); /* 11 と出力される */

上記の例の様に、a[10]とa["10"]は同じ要素を指しますので注意してください。
また、a["10"]とした場合にも自動的に0から指定した10までの要素が追加されます。
上記の例の場合、a.lengthは11を返します。

例えば、数字のみの4桁の管理番号をArrayオブジェクトの添え字に利用する場合、取り扱うデータが1件だけでも、要素数は0〜添え字に指定した管理番号となります。
不要な要素を作成したくない場合は、管理番号に数字以外の文字を付加して添え字とするなどの対応を行ってください。また、連想配列とした場合は、lengthプロパティが利用できませんのでご注意ください。

 例)管理番号が"1089"の場合
   String id;

   id = "1089";
   Array a;
   a[id] = "商品名";
   print(a.length); /* 1090 と出力される */

   Array b;
   id = "ID" + "1089";
   b[id] = "商品名";
   print(b.length); /* 0 と出力される */

管理番号:AryHt_001
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser HT・Biz/Browser SmartDevice・Biz/Browser AI TIPS集 トップへ