このコードを書くのに苦労しています。
2 つのオブジェクトから最高値を計算しようとしています。「S」オブジェクトと「P」オブジェクトを別々に開始しました。
var S = [
{ id: '1', value: '##' },
{ id: '2', value: '##' },
{ id: '3', value: '##' },
{ id: 'N', value: '##' }
];
var P = [
{ id: '1', value: '##' },
{ id: '2', value: '##' },
{ id: '3', value: '##' },
{ id: 'N', value: '##' }
];
3 番目のオブジェクトを作成しました。
var myobject = {
'S1' = {
'P1' = '25',
'P2' = '32',
'P3' = '65',
'PN' = '##'
},
'S2' = {
'P1' = '24',
'P2' = '31',
'P3' = '64',
'PN' = '##'
},
'S3' = {
'P1' = '26',
'P2' = '33',
'P3' = '66',
'PN' = '##'
},
'SN' = {
'P1' = '##',
'P2' = '##',
'P3' = '##',
'PN' = '##'
}
};
そして、すべての値を繰り返し処理して、組み合わせで最高の値が生成されることを確認する必要があります。次に例を示します。
S1.P1 + S2.P1 + S3.P1 = ?
S1.P1 + S2.P1 + S3.P2 = ?
S1.P1 + S2.P1 + S3.P3 = ?
S1.P1 + S2.P2 + S3.P1 = ?
S1.P1 + S2.P2 + S3.P2 = ?
S1.P1 + S2.P2 + S3.P3 = ?
...
上記の値の例を使用して、私が探している答えは次のとおりです。
S1.P3 + S2.P3 + S3.P3 = 195
事態を複雑にするために、場合によっては、「P」値が式で 1 回しか使用されないことがあります。
var P = [
{ id: '1', value: '##' },
{ id: '2', value: '##' },
{ id: '3', value: '##', once: true },
{ id: 'N', value: '##' }
];
「P3」が一度しか使用できない場合、上記の値の例を使用して探している答えは次のとおりです。
S1.P2 + S2.P2 + S3.P3 = 129;
少し再帰が必要だと思います....しかし、頭が痛いです。
編集
計算を作成しようとしているループで迷子になっています。たとえば、次のようになります。
foreach "S"
foreach "P"
foreach "S"
foreach "P"
....
提案?