2

有没有办法通过键从哈希中删除并返回删除的值。即这段代码:

var a = attributes['a']
delete attributes['a']

在单行中。Smth 像 Ruby 的delete

a = attributes.delete(:a)
4

1 回答 1

7

在一行中,是的:

var a = attributes['a']; delete attributes['a'];

在一个简单的陈述中,不。

您可以想象一个函数为您执行此操作,但由于您无法在 ES5 中传递属性,而只能传递其名称或值,因此您必须使用两个参数:

function deleteAndReturn(map, key) {
    var a = map[key];
    delete map[key];
    return a;
}
于 2013-07-03T10:41:45.743 回答