※ ChatGPTを利用し、要約された質問です(原文:for文またはwhileなど使用して処理したいのです)
AS2.0、Flash8でfor文またはwhileなど使用して処理したい
このQ&Aのポイント
AS2.0、Flash8でfor文またはwhileなどを使用して、データを処理する方法について質問があります。
XML内に用意した3つのカテゴリのノードを読み取り、条件に応じて表示する処理をする関数を作成したいです。
デフォルトでは1つ目のカテゴリを表示し、存在しない場合は2つ目、3つ目のカテゴリを順番に表示する仕組みを作りたいです。
for文またはwhileなど使用して処理したいのです
以下のスクリプトをfor文またはwhileなど使用して、
処理したいのですが、考えていると頭がプスプスしてきたので
どなたかご教授いただけないでしょうか。。
AS2.0、Flash8です。
function dataCHK():Number {
num = 1;
totalNode = dataList1.length;
if(totalNode == undefined) {
totalNode = dataList2.length;
num = 2;
if(totalNode == undefined) {
totalNode = dataList3.length;
num = 3;
}
}
if(dataList2.length == undefined) {
totalNode = dataList3.length;
}
if(dataList3.length == undefined) {
totalNode = dataList1.length;
}
return num;
}
※全角スペースでインデントしてます。
XML内に用意したトータル3カテゴリあるノードを読みにいき、
1カテゴリ目があるとそれを表示し、num=1を返す、
無ければ2カテゴリ目を読んで、num=2を返す・・・
という感じです。
デフォルトでは1カテゴリ目を表示したいのですが、
1カテゴリ目が無い場合(undefinedなら)は、2カテゴリ目、3カテゴリ目を見いくといった流れです。
2カテゴリ目のみまたは3カテゴリ目のみ無い場合は1カテゴリ目を表示、
全カテゴリが無いといったケースは無いです。
■XMLはこんな感じ
<myData>
<myCat1>
<myParam1>パラメータ1</myParam1>
<myParam2>パラメータ2</myParam2>
</myCat1>
<myCat2>
<myParam1>パラメータ1</myParam1>
<myParam2>パラメータ2</myParam2>
</myCat2>
<myCat3>
<myParam1>パラメータ1</myParam1>
<myParam2>パラメータ2</myParam2>
</myCat3>
</myData>
よろしくお願いいたします。
お礼
ありがとうございます! 大変細かく説明して頂いて本当に感謝です。 まだちゃんと試せていませんが取り急ぎ御礼をさせていただきます。 「SAYKA」さんへのお返事で解決したスクリプトを記述しました。 恐れ入りますがそちらもご覧頂き、そのスクリプトがもっと最適化できないものか、 あるいはもっとシンプルになるのか、それとももう十分なのか、 そういった観点でまたご意見いただけると幸いです。