Coffeescript:是否可以在不总是创建键的情况下有条件地声明属性?

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

比方说,我想创建一个对象,其中某些成员并不总是存在的

t = {a: 1, b: b if b}
console.log t       # { a: 1, b: undefined }

我想在缺少b时达到这个结果

t = {a: 1}
if b then t.b = b
console.log t       # { a: 1 }

有没有一种方法可以有条件地声明b而无需创建密钥,也不需要单独的代码行?

node.js coffeescript
1个回答
0
投票

当您需要在大物体上重复进行此操作时,可以这样做

t = Object.fromEntries(Object.entries(
  a: 1
  b: b
  c: 2
).filter(e=>e[1]))

[如果b为假,这将过滤掉b属性。

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