Dart中如何向现有对象内插入新数据而不创建新对象
问题解答
完全可以不创建新对象,直接给myData[0]添加新属性即可,你示例中的结构属于可变对象,支持直接新增字段。
不同常用语言的实现代码:
- JavaScript 环境
因为新增的属性名包含空格,用方括号语法赋值即可:const myData = [ {"data": "hello 1", "data 2": "hello 2"} ]; myData[0]['data 3'] = 'hello 3'; - Dart 环境(你的示例用到了
List定义,Dart 中常用写法):List<Map> myData = [ {"data": "hello 1", "data 2": "hello 2"} ]; myData[0]['data 3'] = 'hello 3'; - Python 环境:
myData = [ {"data": "hello 1", "data 2": "hello 2"} ] myData[0]['data 3'] = 'hello 3'
特殊情况说明:仅当你手动将
myData[0]定义为不可变对象(比如JS使用Object.freeze()修饰、Dart用const定义Map、Python使用不可变映射类型)时,才需要新建对象实现字段新增,普通开发场景下直接赋值即可修改原对象,不需要额外创建新实例。
内容的提问来源于stack exchange,提问作者wahyu
相关产品推荐
相关产品推荐

