是否可以在 ?:
中更改字典并在同一块中返回此字典。像这样的东西 a > b ? <dict['c'] = 'I'm changed', return dict> : <some other code>;
我需要在 map
函数中使用它。像这样的东西:
var a = [...]
a.map((itm) => return itm.isComposite ? itm[key] = transform(itm[data]); return itm : transform(itm))
最佳答案
是的,使用 comma operator 可以实现 :
a > b ? (dict['c'] = "I'm changed", dict) : <some other code>;
逗号运算符计算其所有操作数并返回最后一个(最右边)的值。
但是,适当的
if
语句在这里可能是更具可读性的解决方案,这就是为什么我建议您使用它而不是构建条件(“三元”)表达式的原因。关于Javascript 三元运算符 (? :) change and return object in single block,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33858597/