Android 使用kotlin中的筛选操作从父元素中删除子元素

Android 使用kotlin中的筛选操作从父元素中删除子元素,android,kotlin,filter,Android,Kotlin,Filter,我想通过删除不匹配的子项来过滤嵌套列表数据。 您可以在这里看到kotlin游乐场示例 当前正在使用any with filter,但由于它返回所有项,因此未获得预期结果 Current Result : [[fan, mobile], [bottle, mobile, fan]] Expected Result : [[fan], fan]] 如果列表中的任何给定元素满足谓词,any将返回true。那不是你想要的。您只需要满足条件或谓词的元素 val filterData = mainDat

我想通过删除不匹配的子项来过滤嵌套列表数据。 您可以在这里看到kotlin游乐场示例

当前正在使用any with filter,但由于它返回所有项,因此未获得预期结果

Current Result : [[fan, mobile], [bottle, mobile, fan]]

Expected Result : [[fan], fan]]
如果列表中的任何给定元素满足谓词,any将返回true。那不是你想要的。您只需要满足条件或谓词的元素

val filterData = mainData.deviceList.map { items -> 
    items.itemList.filter { 
        it.itemName.contains(filterTxt, true)
    }
}
val filterData = mainData.deviceList.map { items -> 
    items.itemList.filter { 
        it.itemName.contains(filterTxt, true)
    }
}