英文:
Add Flutter Iterable map result into List Array
问题
我们有这个可迭代对象:
Iterable<void> intoarray = listaMap.interests!.map((f) => f['id']);
print(intoarray); <--- 结果:flutter: (1, 3, 4)
我想将结果添加到这个数组中:
List<int?> arrayValues = [];
arrayValues.add(intoarray 中的元素结果)
我应该对其进行整数解析吗?如何将这些结果放入数组中?一次一个还是一次性全部放入?
英文:
We have this iterable:
Iterable<void> intoarray = listaMap.interests!.map((f) => f['id']);
print(intoarray); <--- result: flutter: (1, 3, 4)
And I want add the result into this array:
List<int?> arrayValues = [];
arrayValues.add(intoarray result elements)
Should I parse to int for this? How can I put this results int Array? One by One or everything at once?
答案1
得分: 0
这是你问题的一个可能解决方案。
void main(){
final List<Map<String, dynamic>> listaMap = [
{
"id":1,
},
{
"id":2,
},
{
"id":3,
}
];
// 你的代码
//Iterable<void> intoArray = listaMap.map((f) => f['id']);
//print(intoArray);
//解决方案
// // 如果id总是int
// List<int> arrayValues = listaMap.map((f) => f['id'] as int).toList();
// // 如果id可为空
// List<int?> arrayValues = listaMap.map((f) => f['id'] as int?).toList();
// 如果id是String
// List<int?> arrayValues = listaMap.map((f) => int.tryParse(f['id'])).toList();
// print(arrayValues);
// 如果id是动态的
List<int?> arrayValues = listaMap.map((f) {
final id = f['id'];
if (id is int){
return id;
}else if (id is String){
return int.tryParse(id);
}
return null;
}).toList();
print(arrayValues);
}
英文:
Heres a posible solution for your question.
void main(){
final List<Map<String, dynamic>> listaMap = [
{
"id":1,
},
{
"id":2,
},
{
"id":3,
}
];
// Your code
//Iterable<void> intoArray = listaMap.map((f) => f['id']);
//print(intoArray);
//Solution
// // if id is always int
// List<int> arrayValues = listaMap.map((f) => f['id'] as int).toList();
// // if id is nullable
// List<int?> arrayValues = listaMap.map((f) => f['id'] as int?).toList();
// if id is String
// List<int?> arrayValues = listaMap.map((f) => int.tryParse(f['id'])).toList();
// print(arrayValues);
// if id is dynamic
List<int?> arrayValues = listaMap.map((f) {
final id = f['id'];
if (id is int){
return id;
}else if (id is String){
return int.tryParse(id);
}
return null;
}).toList();
print(arrayValues);
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论