Roku не имеет встроенного метода для извлечения уникальных значений из массива, вы должны создать свой собственный.
Существует несколько способов реализации этого, вот один вариант, использующий хеш-таблицу (ассоциативный массив) для отслеживания всех сохраненных значений:
function unique(arr as Object)
res = []
table = {}
for each v in arr
k = v.toStr()
if not table.doesExist(k)
res.push(v)
table[k] = true
end if
end for
return res
end function
Использование:
dupValues = ["Nikunj", "Ronak", "Raxit", "Suhag", "Nikunj", "Suhag", "Suhag", "Nikunj", "Ronak", "Nikunj"]
uniqueValues = unique(dupValues)
?"uniqueValues "uniqueValues
Вывод:
["Nikunj", "Ronak", "Raxit", "Suhag"]
Обратите внимание, как перед сохранением в хеш-таблицу,значение преобразуется в строку (в случае, если это не так), поэтому эта функция также может принимать массив чисел.
dupValues = [3, 3, 4, 1, 6, 7, 6]
uniqueValues = unique(dupValues)
?"uniqueValues "uniqueValues
Вывод:
[3, 4, 1, 6, 7]