簡體   English   中英

IBM Watson Assistant,如何從陣列中刪除多個項目?

[英]IBM Watson Assistant, how can I remove multiple items from an array?

我有一個列表unmentioned_colors = ["red", "green", "blue", "yellow"]如果我提到多種顏色,我想更新我的not提及_colors數組,刪除提到的那些。 因此,如果我寫“ red green”,我想將它們從un提及的顏色中刪除,它們會變成[“ blue”,“ yellow”

我試過"<? $unmentioned_colors.removeValue(@colors.values) ?>" = "<? $unmentioned_colors.removeValue(@colors.values) ?>"但是它不起作用。 如何從數組中刪除多個@colors?

Watson Assistant支持兩種從JSONArray刪除項目的方法: remove(使用索引)和removeValue(使用值)。 每種方法僅刪除一個元素。 因此,您需要循環/遍歷要刪除的元素,然后調用該方法。 您可以在應用程序中處理嗎?

另一種方法是研究SpEL(表達語言)並使用集合選擇/投影。

要從$unmentioned_colors @colors $unmentioned_colors @colors刪除所有@colors項,應設置上下文變量$_bool_listchanged ,如下所示:

_bool_listchanged = "<? $unmentioned_colors.removeAll(@colors.values) ?>"

該解決方案不需要循環,因此可以工作,因為Watson Assistant在引擎蓋下使用Java來處理聯系人中的項目。 因此,在此數組上,我們具有可以從Java調用的removeAll方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM