我的编码技能非常初级,所以这可能是一个非常愚蠢的问题。
无论如何这里...
我有一个简单的coffeescript程序,该程序每隔几分钟运行一次,并将一组额外的数据保存到storage
对象中,并在键名后附加时间戳:
extra_data = (big long array of thousands of numbers)
newKey = "extra_data_#{@data.at}"
@storage[newKey] = extra_data
所以现在我在storage
对象中保存了一堆看起来像这样的数组:
storage.extra_data_1820348106
storage.extra_data_1239861234
storage.extra_data_1908234710
我需要删除所有这些键,但将其余storage
对象留空。仅删除CoffeeScript中仅包含extra_data
(以键名)的键的最简单方法是什么?
我尝试过:
delete @storage[/extra_data/g]
这不起作用。
答案 0 :(得分:0)
在循环中使用 for ... 获取所有键和值:
for own key of @storage
if (/extra_data/g.test(key))
delete @storage[key]
或使用ES6 +
Object.keys(@storage).forEach((key)
-> if (/extra_data/g.test(key))
delete @storage[key]
return
)
答案 1 :(得分:0)
只需遍历每个键:
for own k of storage
if (k.includes("extra_data")) delete @storage[k]