是否有某种方法可以通过键从哈希中删除并返回已删除的值。即此代码:
var a = attributes['a']
delete attributes['a']
单行。像Ruby的delete
:
a = attributes.delete(:a)
答案 0 :(得分:6)
在一行中,是的:
var a = attributes['a']; delete attributes['a'];
在一个简单的陈述中,没有。
你可以想象一个函数为你做这个但是因为你不能在ES5中传递属性而只传递它的名字或它的值,你必须使用两个参数:
function deleteAndReturn(map, key) {
var a = map[key];
delete map[key];
return a;
}