javascript - 将对象添加到数组中并更改该数组中其他对象的属性
问题描述
如何同时将此对象添加到数组中并将属性更改popup
为false
同一数组中的每个其他对象(如果有的话)?
this.setState({
map: {
...this.state.map,
areas: this.state.map.areas.concat({
coords: [evt.nativeEvent.layerX, evt.nativeEvent.layerY, 15],
popup: true,
})
}
});
解决方案
您不能同时执行此操作,但您可以使用Object.assign
方法和map
为了将popup
属性设置为然后false
只是concat
新项目。
areas: this.state.map.areas.map(item => Object.assign(item, {popup: false})).concat({
coords: [evt.nativeEvent.layerX, evt.nativeEvent.layerY, 15],
popup: true,
})
推荐阅读
- html - Laravel 中的过滤
- azure - 当 Microsoft Cloud App Security 监控会话时,GCP CLI SSO 登录失败
- javascript - 使用 Greasemonkey 在课堂上获取文本值
- javascript - 当用户做出反应时编辑嵌入
- tensorflow - 我可以将我的模型 h5 与对象检测算法一起使用吗
- vue.js - 即使我已正确配置,为什么我仍会收到 CORS 错误
- javascript - 如果Vuejs中没有数据,如何禁用按钮?
- javascript - 如何从 Cloud Functions 中的字段值返回令牌?
- php - Facebook Custom Conversions Api Server 测试事件未显示
- matplotlib - 将数组重塑为图形以将其推送到 CNN