我有以下 List
[
{thumb: 28986/H6a6Xkm_thumb.jpeg, full: 28986/H6a6Xkm.jpeg},
{thumb: 28986/f-2_thumb.jpg, full: 28986/f-2.jpg},
{thumb: 28986/Ft_thumb.jpg, full: 28986/Ft.jpg},
{thumb: 28986/FED_thumb.jpg, full: FED.jpg}
]
我想嘗試為這 4 個專案中的每一個添加一個新屬性,稱為desc描述,現在可以說:Apple
是否有一種簡單的方法來迭代串列并插入新屬性,以便最終結果是:
[
{thumb: 28986/H6a6Xkm_thumb.jpeg, full: 28986/H6a6Xkm.jpeg, desc: Apple},
{thumb: 28986/f-2_thumb.jpg, full: 28986/f-2.jpg, desc: Apple},
{thumb: 28986/Ft_thumb.jpg, full: 28986/Ft.jpg, desc: Apple},
{thumb: 28986/FED_thumb.jpg, full: FED.jpg, desc: Apple}
]
uj5u.com熱心網友回復:
是的,您可以使用map方法遍歷串列,并在其中使用擴展運算子回傳新地圖,如下所示:
final myList = [{"hello": "world"}];
final newList = myList.map((obj) => {...obj, "desc": "Apple"}).toList();
uj5u.com熱心網友回復:
您的串列是地圖串列嗎?
編輯串列中每個值的最簡單方法是使用以下.map方法:
myList = myList.map((value) => newValue).toList();
例如,假設您有一個數字串列,并希望為每個數字添加一個
myList = myList.map((number) => number 1).toList();
您還可以像這樣傳遞更多計算:
myList = myList.map((value) {
// some calculations
return newValue;
}).toList();
假設您的串列是 List<Map<String, dynamic>>
myList = myList.map((value) => value..addAll({'desc': 'apple'})).toList();
uj5u.com熱心網友回復:
您可以使用 for 回圈或 forEach 串列屬性將元素添加到串列中:
void main() async {
var list = [
{'thumb': '28986/H6a6Xkm_thumb.jpeg', 'full': '28986/H6a6Xkm.jpeg'},
{'thumb': '28986/f-2_thumb.jpg', 'full': '28986/f-2.jpg'},
{'thumb': '28986/Ft_thumb.jpg', 'full': '28986/Ft.jpg'},
{'thumb': '28986/FED_thumb.jpg', 'full': 'FED.jpg'}
];
/// using for loop
for (int i = 0; i < list.length; i ) list[i]['desc_for'] = 'Apple';
print(list);
/// Using forEach
list.forEach((item) {
item['desc_forEach'] = 'Apple';
});
print(list);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/343330.html
