あなたはちょうどあなたがショーを持っているコードを使用すると、これは、私はあなたがかもしれないものだと思い、カウントしようとしている場合:だから
items = structNew();
for (row in combo) {
if(
!structKeyExists(items,row.PRODID) ||
!structKeyExists(items[row.PRODID],row.SIZEID) ||
!structKeyExists(items[row.PRODID][row.SIZEID],row.COLORID)
){
items['#row.PRODID#']['#row.SIZEID#']['#row.COLORID#'] = 1
} else {
items['#row.PRODID#']['#row.SIZEID#']['#row.COLORID#']++;
}
}
、構造体のどの部分ならば、私たちがやっていることは、言っています必要なものは存在せず、作成して値を1にします。それ以外の場合は、値を増やします。構造体の他の部分はテストするために存在しないため、3番目のORを単独で行うことはできません。
これを行うにはより良い方法があるかもしれませんが、これはおそらくあなたの質問に基づいてあなたにとって最も理にかなっています。
items = structNew();
for (row in combo) {
if(
!structKeyExists(items,row.PRODID)
){
items['#row.PRODID#'] = {
color: row.COLORID,
size: row.SIZEID,
qty: 1
}
} else {
items['#row.PRODID#']['qty']++;
}
}
2番目の例は、各製品IDがカラー/サイズの組み合わせに固有のものである場合にどのように進んでいるかと思います。次に、それぞれitem
は、3つの値、すなわちcolor, size, and quantity
でそれを記述する構造体になります。私はどのように多くのCDとどのように多くのどのようなサイズの、色を追加する必要が
「++」とは何ですか? – Leeish
また、何を達成しようとしていますか?構造体はキーと値のペアです。あなたのコードは、あなたが配列を作成しようとしているように見えます。 'コンボ'には配列が含まれていますか? – Leeish
合意。たぶん、いくつかのステップをバックアップし、1)「コンボ」が表すものとそれがどのように埋め込まれ、2)そのデータのサンプルを投稿するのかを説明してください。コードを動作させることはおそらく可能ですが、より良いオプションがあるかもしれません。 – Leigh