gpt4 book ai didi

flutter - 如何转换List flutter
转载 作者:行者123 更新时间:2023-12-03 04:57:09 30 4
gpt4 key购买 nike

我是新手,需要帮助:

我已经有

final List<Genres> genres = [{1,"comedy"}, {2,"drama"},{3,"horror"}]

来自api。
class Genres {

final int id;
final String value;

Genres({this.id,this.value});
}

在另一种方法中,我得到genres.id。(2)如何将其转换为genres.value(“戏剧”)?

最佳答案

当您的数据结构是Genre时,从id获取List是不方便的。您别无选择,只能遍历列表并将id值与列表中每个元素的id进行比较:

final id = 2;
final genre = genres.firstWhere((g) => g.id == id, orElse: () => null);

这段代码的问题在于它运行缓慢,并且可能有多个匹配项(其中第一次找到之后的重复项将被忽略)。

更好的方法是在首次创建列表时将其转换为 Map。之后,您只需使用索引器即可快速,安全地获取ID的 Genre

final genresMap = Map.fromIterable(genres, (item) => item.id, (item) => item);

// later...

final id = 2;
final genre = genresMap[id];

这样,保证不会有任何重复,并且如果ID不存在,则索引器将仅返回null。

关于flutter - 如何转换List <Object> flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60397955/

30 4 0