Node.js根据其值返回对象键

时间:2018-09-13 09:07:23

标签: javascript node.js

nodejs 8.10 中,我希望函数根据参数返回不同的对象。是否有任何简单的方法可以根据密钥的值包含或不包含密钥?

示例

// I do not like this solution, there is a 2 line body
// `c` may be undefined or a string (for example)
const f = (a, b, c) => {
  if (c) return ({ a, b, c });
  else return { a, b }
}

我们能否根据其价值简单地将c包括在内或将其排除在外? 我期望这样的事情:

// I expect this kind of solution.
const f = (a, b, c) => ({ a, b, ___????___ })

1 个答案:

答案 0 :(得分:3)

您无能为力,但是您可以:

const f = (a, b, c) => (c ? { a, b, c } : { a, b });

const f = (a, b, c) => {
  const result = { a, b };
  if (c) result.c = c;
  return result;
}