javascript - 在反应状态下将不可变的对象数组转换为可变的
问题描述
我有一个包含 javascript / typescript 中的对象的数组。
let array = [
{ id: 1, name: "One", location: { lat: 23.2223, lng: 56.2214 } },
{ id: 2, name: "Two", location: { lat: 23.2226, lng: 56.2214 } },
{ id: 3, name: "Three", location: { lat: 23.2223, lng: 56.2214 } },
];
如何更新第二个元素的位置(使用 lat 23.2226)并使用 javascript spread (...) 运算符将数组复制到新数组?
解决方案
let array = [
{ id: 1, name: "One", location: { lat: 23.2223, lng: 56.2214 } },
{ id: 2, name: "Two", location: { lat: 23.2226, lng: 56.2214 } },
{ id: 3, name: "Three", location: { lat: 23.2223, lng: 56.2214 } },
];
array.find((d) => (d['name'] == 'Two'))['location']['lat'] = 23.000
console.log(array)
/*[
{ id: 1, name: 'One', location: { lat: 23.2223, lng: 56.2214 } },
{ id: 2, name: 'Two', location: { lat: 23, lng: 56.2214 } },
{ id: 3, name: 'Three', location: { lat: 23.2223, lng: 56.2214 } }
]*/
推荐阅读
- python - 如何执行具有特定维数的 MultiLabelBinarizer?
- eslint - eslint 规则 @nrwl/nx/enforce-module-boundaries 失败 [更新]
- django-rest-framework - ValueError:“field_name”属性没有与之关联的文件-仅在更新时?
- javascript - 无法在帖子中保存和显示更新的自定义多选下拉字段
- c# - 如何将 JsonConvert.DeserializeObject 用于没有名称的值
- c# - 如何从 DapperRow 读取数据?
- typescript - NestJS - 是否可以在嵌套 ParamDecorator 中获取参数的值?
- python - 如何在 GitHub 上可用的代码中添加评论?
- amazon-web-services - 如何使用 Python 脚本更新我的所有 ElasticBeanstalk 环境的 A 记录?
- flutter - 如果你只使用桌面平台,你需要 android 和 ios 文件夹吗?