是否可以在 ?: 中更改字典并在同一块中返回此字典。像这样的东西 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/

10-13 02:15