我的电话 list 如下:
listofnumbers = ['01225','03933']
以及 map 对象的列表为: List mapofobjects = [
{
'name': 'John Doe',
'phone': {
'numbers': ['03323', '02333'],
'verified': true
},
'uid': '2BDNDD',
'createdat': 'today..'
},
{
'name': 'Mary Doe',
'phone': {
'numbers': ['03933', '39939'], // matches 03933 in listofnumbers
'verified': true
},
'uid': '1BDNDD',
'createdat': 'today..'
},
{
'name': 'Vincin Doe',
'phone': {
'numbers': ['01225', '59939'], // matches 01225 in listofnumbers
'verified': true
},
'uid': 'XBDNDD',
'createdat': 'today..'
}
];
如何使用每个listofnumbers项目作为连接将numberofnumbers转换为 map 对象列表。对于两个数字的listofnumbers,我应该得到这样的东西:
finalList = List mapofobjects = [
{
'name': 'John Doe',
'phone': {
'numbers': ['03323', '02333'],
'verified': true
},
'uid': '1BDNDD',
'createdat': 'today..'
},
{
'name': 'Vincin Doe',
'phone': {
'numbers': ['01225', '59939'],
'verified': true
},
'uid': 'XBDNDD',
'createdat': 'today..'
}
];
当phone ['numbers']包含项目时,每个对象都匹配/替换项目列表。
最佳答案
您可以使用两个forEach
获得此结果,如下所示:
List finallist = [];
listofnumbers.forEach((element) {
mapofobjects.forEach((e) => {
if (e['phone']['numbers'].contains(element))
finallist.add(e)
});
});
print(finallist.length.toString());
结果是: 2
关于dart - 如何从DART字符串列表中获取 map 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63917300/