在Flutter/Dart中如何为List内的每个元素添加新属性?
多语言实现方案
JavaScript
你可以根据是否需要保留原始数组选择两种写法:
- 生成新数组(不修改原数据):使用
map结合对象扩展运算符,生成包含新属性的新对象数组
const originalList = [ {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'} ] const result = originalList.map(item => ({ ...item, desc: 'Apple' }))
- 直接修改原数组:使用
forEach遍历直接给每个对象追加属性
originalList.forEach(item => item.desc = 'Apple')
Python
如果是Python环境下的字典列表,对应写法如下:
- 生成新列表(不修改原数据):用列表推导式结合字典解包
original_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"} ] result = [{**item, "desc": "Apple"} for item in original_list]
- 直接修改原列表:遍历直接给字典加键值对
for item in original_list: item["desc"] = "Apple"
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

