Javascript 三元运算符 (? :) change and return object in single block

标签 javascript

里面有没有可能?:更改字典并在同一 block 中返回此字典。像这样的 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/

相关文章:

javascript - 在 Angular 或 js 中分割数组

javascript - 无法在我的 flipview 中使用鼠标滚轮滚动

javascript - 无法使用Javascript/JQuery更改视频静音属性

javascript - 解构对象数组 (es6)

javascript - 如何在我的 Android 应用程序中添加 Javascript 广告

javascript - 在 AngularJS 中使用 $resources 时如何保留本地 UI 状态

javascript - jQuery keyup 事件只触发一次

javascript - jQuery 中没有触发按钮单击事件?

javascript - 当使用 src 属性加载内容时,Google Chrome 开发者工具如何访问 &lt;script&gt; 标记的 "text"属性?

javascript - jQuery toggleClass fade 适用于一个类,而不适用于另一个类?