「繰り返しアイテム」入力から値を返そうとしています。しかし、 'inputs.value'は動作しません。リストのすべての項目についてループとインデックスを作成する必要があるとは思いますが、わかりません。JSCalc。リストからの戻り値
1
A
答えて
0
私ははい
..私は、リスト上のすべての項目のループとインデックスを作成する必要があると思います。あなたはその通りです。 'Repeating Item'は内部的にオブジェクト配列として格納されています。したがって、配列を処理するには配列を繰り返し処理する必要があります。個々のアイテムはオブジェクトなので、inputs
オブジェクトでは直接使用することはできませんが、inputs.lineitems
を使用します。lineitems
は繰り返しアイテムプロトタイプのプロパティ名です。例えば
:
あなたが注文したい項目繰り返し項目のリストを作成しています。したがって、繰り返しアイテムのプロトタイプ内に2つの入力、たとえばitemName
とitemQuantity
があります。繰返し項目のプロパティ名は、LineItems
とします。出力テーブルとしてそれを照会し、発注された合計数量も表示する必要があります。出力テーブルの名前はOrders
、合計ラベルの名前はTotal
です。
あなたは、このように、さらにそれを処理するためにこれを繰り返すことができます:
result
はあなたの出力テーブルにマップしたい配列で、あなたは合計数量をキャッシュする場所
totalItems
がある
var result = [], totalItems = 0;
を。
あなたがinputs.LineItems
経由繰り返し項目を反復処理し、それに応じて
total
をインクリメントされ、
inputs.LineItems.forEach(function(item, idx) {
totalItems += item.itemQuantity;
result.push({
'ItemNumber': idx + 1,
'Item': item.itemName,
'Quantity': item.itemQuantity
});
});
。また、後でOrders
テーブルにマップするresult
アレイを準備します。
これは、あなたが返すものです:Total
は以前に定義された出力ラベルであり、そしてOrders
は、先ほど定義し出して、テーブル名で、
return {
Total: totalItems,
Orders: result
};
。あなたはそれをよりよく理解するここで
はデモです:
https://jscalc.io/calc/YicDJYCSlYTGYFMS
ソースを表示するには、単に(省略記号の上に「JSCalc.ioを搭載した後に表示3個のドットをクリックしてください'text)をクリックし、「コピーを作成」をクリックします。
これが役に立ちます。
関連する問題
- 1. chrome.tabs.executeScriptからの戻り値
- 2. セッションからの戻り値
- 3. Ajaxからの戻り値
- 4. ローカルスコープからの戻り値?
- 5. Javaからの戻り値
- 6. メソッドからの戻り値
- 7. コールバックからの戻り値
- 8. wxpython:Mainloopからの戻り値
- 9. タイマークラスからの戻り値
- 10. ソートされたリストからの値の戻り位置
- 11. ADF - 戻り値から戻されたときに値の入力リストにNULL値を設定する方法
- 12. helperClass.jsからの戻り値がindex.jsに戻らない
- 13. MySQLの関数からの戻り値
- 14. 関数のpythonからの戻り値
- 15. マルチプロセスの例外からの戻り値
- 16. ストアドプロシージャからの戻り値の取得
- 17. CordovaのgetCurrentPositionからの戻り値
- 18. 複数のアクティビティからの戻り値
- 19. JavaFXのJavaScriptからの戻り値
- 20. ActiveRecordクエリからの戻り値タイプ
- 21. は、だから、()の戻り値
- 22. JDBCトランザクションからの戻り値
- 23. クラス関数からの戻り値
- 24. .aspxから.aspx.csへの戻り値
- 25. Javaコードからの戻り値
- 26. Python 3 - 関数からの戻り値
- 27. 親子タスクからの戻り値
- 28. CSVファイルからのPapaparse戻り値
- 29. ルックアップデータフレームからの戻り値R
- 30. 約束からの戻り値