gpt4 book ai didi

flutter - 根据键值之一从 map 中检索条目

转载 作者:行者123 更新时间:2023-12-03 04:58:19 24 4
gpt4 key购买 nike

我已经审查了类似的帖子,但是仍然无法按照我的要求进行整理。

我想从下面的 map 中检索满足特定条件的所有条目。

简单的 map

List<Map<String, dynamic>> _playList = [
{'songId': 1, 'setId': 1},
{'songId': 2, 'setId': 1},
{'songId': 3, 'setId': 1},
{'songId': 4, 'setId': 2},
{'songId': 5, 'setId': 3},
{'songId': 6, 'setId': 4},
{'songId': 6, 'setId': 5},
{'songId': 6, 'setId': 6},
{'songId': 6, 'setId': 7},
];

我正在尝试使用一种方法,该方法将遍历此映射,查找传递给该方法的int的所有条目,然后将结果存储在新数组中。

我到目前为止的方法
Future<List<Song>> songFromCurrentSetlist (int setlistId) async {
_playList.forEach((_) => setlistId == _playList.???);
}

显然,有点卡住了。

基本上,如果该方法的参数列表中的setlistId收到1,则我希望为setlistId == 1的每个songIds取回值1,2,3。

谢谢,
鲍勃

最佳答案

您可以创建歌曲列表,并在setId匹配时添加新歌曲。

以下示例清除您的想法。

void main(){ 
List<Map<String, dynamic>> _playList = [
{'songId': 1, 'setId': 1},
{'songId': 2, 'setId': 1},
{'songId': 3, 'setId': 1},
{'songId': 4, 'setId': 2},
{'songId': 5, 'setId': 3},
{'songId': 6, 'setId': 4},
{'songId': 6, 'setId': 5},
{'songId': 6, 'setId': 6},
{'songId': 6, 'setId': 7},
];

List<int> songs = [];
songFromCurrentSetlist (int setlistId) async {
_playList.forEach((index){
if(index['setId'] == setlistId){
songs.add(index['songId']);
}
});
}

songFromCurrentSetlist(1);

print(songs.toList());
}

关于flutter - 根据键值之一从 map 中检索条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60146445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com