基于对象设置变量

问题描述 投票:0回答:1

我有一个可能包含多种属性的对象,例如

{a: 1}, {b: 4}, {c: 2}, {a: 3, b: 1}

它将是一个带有计数值的键。

例如,我想根据对象中的键名设置一堆变量:

aOnly = {a: 1}, mixOfAB = {a: 3, b: 1}

我在函数中使用此逻辑,该函数最终将返回字符串值。在该对象上进行操作的最佳方法是什么,我尝试使用开关,但效果不佳。我可以使用大量的if / else语句,但是还有一些更整洁的方法吗?

javascript function ecmascript-6 switch-statement
1个回答
0
投票

您可以做这样的事情:

vars = {}

function setVariable(obj) {
    keys = Object.keys(obj)
    name = keys.length == 1 ? keys[0] + 'Only' : 'mixOf' + keys.join('').toUpperCase()
    vars[name] = obj
}

setVariable({a: 1})
console.log(vars)

setVariable({b: 4})
console.log(vars)

setVariable({c: 2})
console.log(vars)

setVariable({a: 3, b: 1})
console.log(vars)

© www.soinside.com 2019 - 2024. All rights reserved.