Android Kotlin отфильтровывает элементы в списке

#android #arrays #json #list #kotlin

#Android #массивы #json #Список #kotlin

Вопрос:

У меня есть список, который содержит размеры одежды для этого продукта.

productfeed.variants.forEach { variants -> Log.d("TAG", "TESTING:: ${variants.option_values[0].name}")

и выводит

2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: МАЛЕНЬКИЙ 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: MEDIUM 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: LARGE 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 1 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 2 XL 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: ТЕСТИРОВАНИЕ:: 3 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: МАЛЕНЬКИЙ 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: MEDIUM 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: LARGE 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 1 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 2 XL 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: ТЕСТИРОВАНИЕ:: 3 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: МАЛЕНЬКИЙ 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: MEDIUM 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: LARGE 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 1 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 2 XL 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: ТЕСТИРОВАНИЕ:: 3 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: МАЛЕНЬКИЙ 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: MEDIUM 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: LARGE 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 1 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 2 XL 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: ТЕСТИРОВАНИЕ:: 3 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: МАЛЕНЬКИЙ 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: MEDIUM 2020-11-10 21:24:06.862 19041-19041/com.example.fetchingjson D/ TAG: TESTING:: LARGE 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 1 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 2 XL 2020-11-10 21:24:06.862 19041-19041/com.example.выборка json D / TAG: ТЕСТИРОВАНИЕ:: 3 XL

Здесь показаны все 30 вариантов

Я хотел знать, как я могу заставить его показывать только один набор от SMALL до 3 XL

Комментарии:

1. Вы хотите показать small, medium, L, 1 XL, 2XL, 3 XL таким образом r8?

2. да, только один набор, а не все 30 из них

3. можете ли вы записать желаемый результат

4. результат, который я хочу, — это то, что вы только что прокомментировали.

Ответ №1:

Вы можете использовать расширение фильтра коллекций

 val smallProducts = productfeed.variants.filter { 
    variant -> (logic to specify small products) 
}
  

Ответ №2:

Попробуйте использовать приведенное ниже filter расширение для фильтрации из списка.

 var smallList = productfeed.variants.filter{
           v -> v.option_values[0].name.equal("SMALL")
        }
  

это даст вам список НЕБОЛЬШИХ.

Комментарии:

1. пожалуйста, объясните подробнее, чего вы хотите?