我想把它变成一个单一的赋值属性
val movesWithMetaDataList: MutableList<PokemonMoveWithMetaData> = arrayListOf()
for (move in pokemonWithMovesAndMetaData.moves) {
for (metaData in pokemonWithMovesAndMetaData.pokemonMoveMetaData) {
if (move.name == metaData.moveName) {
movesWithMetaDataList.add(
PokemonMoveWithMetaData(
metaData, move
)
)
}
}
}
setPokemonMoves(movesWithMetaDataList.separateByGeneration())
我试过很多东西,我想我需要一个过滤器,然后一个地图,但我很难找到它,名单可以不同的大小
val movesWithMetaDataList = pokemonWithMovesAndMetaData.moves.flatMap { move ->
pokemonWithMovesAndMetaData.pokemonMoveMetaData.map { metaData ->
if (metaData.moveName == move.name){
PokemonMoveWithMetaData(
metaData, move
)
}
}
}
还有这个
val movesWithMetaDataList = pokemonWithMovesAndMetaData.moves.flatMap { move ->
pokemonWithMovesAndMetaData.pokemonMoveMetaData.takeWhile {
pokemonMoveMetaData -> move.name == pokemonMoveMetaData.moveName
}.map { meta ->
PokemonMoveWithMetaData(
meta , move
)
}
}
以及其他