wherecontains
находит признаки, где предоставляется значение массива. - Кроме того, списки поддерживают мультииндексирование (например,
{"a", "b", "c", "d"}[{1, 3}]
возвращает {"a", "c"}
). - Наконец, списки поддерживают прогнозируемое индексирование (например,
{{x: 1}, {x: 2}, {x: 3}}.x
возвращает {1, 2, 3}
)
Эти три функции позволяют вам сделать это:
with(
/* Pull out just the task codes of all the tasks */
taskCodesOfTasks: listOfTasks.taskCode,
/* Get the indicies where the task code is what we're looking for */
indicies: wherecontains("LIFE_MAX_DAYS", taskCodesOfTasks),
/* Pull out the task data */
selectedTasks: listOfTasks[indicies],
/* Return the task IDs */
selectedTasks.taskId
)
Которые, конечно, можно записать с гораздо меньшей церемонией:
listOfTasks[wherecontains("LIFE_MAX_DAYS", listOfTasks.taskCode)].taskId