谁能想到一个更好的解决方案来重组变量a
,使其成为包含其先前值的普通对象?我不喜欢这样,我更喜欢一行,但是它必须仍然可读。
a = "somevalue"
b = "somekey"
tmp = a
a = {}
a[b] = tmp
让我改写一下:所需的结果(从上面的代码:实际的)是这样的:
a = { "somekey": "somevalue" }
当“ somekey”和“ somevalue”实际上是变量
b
和a
时,有没有另一种更短的方法来实现此目的? 最佳答案
干得好...
(a = (b = [a, b, {}])[2])[b[1]] = b[0];
不能说我推荐它。
也许这会好一点...
(a = (b = [a, b], {}))[b[1]] = b[0];
当然不短于您所拥有的。
也许更容易阅读,但仍会变得更短
(b = [a, b], a = {})[b[1]] = b[0];