【发布时间】:2019-02-09 12:00:55
【问题描述】:
当键引用是动态的时,是否有使用解构和扩展运算符创建一个新对象的 ES6(及更高版本)解决方案,该对象的键和值从原始对象中删除,所以:
const state = {
12344: {
url: 'http://some-url.com',
id: '12344'
},
12345: {
url: 'http://some-other-url.com',
id: '12345'
}
}
const idToDelete = 12344
const { [idToDelete], ...newState } = state // dynamic key
console.log('newState:', newState)
// desired newState would only have the key 12345 and its value
除非这是我目前的 Babel 设置,否则我无法找出干净的 ES6 执行此操作的方式(如果存在的话)。
在此先感谢
【问题讨论】:
-
你为什么不直接使用地图?这里似乎比较合适。即使你想要实现的东西是可能的,它也是超级不可读的
标签: javascript ecmascript-6 javascript-objects