如何在条件下返回对象



我刚刚开始使用对象(我正在学习javascript)。所以我有一个物体,这就是应该发生的事情:用户插入一些数据;如果我的对象中已经有这个数据,我就会原样返回这个对象;但是如果键和值是新的,我必须返回一个包含我以前的数据和新数据的对象。

例如let User = {"名称":"Ed","年龄":3}用户想要向user添加一个新属性,或者他可能只是忘记了已经有了一个名称。所以我想把他的对象还给他,但只有当它们真的是新的时候,我才会给它新的信息。我发现有时你可以在对象上使用Map,我尝试了,但它不起作用…我真的迷路了,不知道该问哪里!

如果我理解正确,如果用户输入一个键-值对,但键已经存在,那么你想按原样返回对象,如果他们输入一个新键,你想把它添加到对象中。你可以这样做:

if (!User.hasOwnProperty(inputKey)) {
User[inputKey] = inputValue;
}
return User;

工作原理:

  • 如果对象中不存在输入键,则表达式!User.hasOwnProperty(inputKey)的计算结果为True,如果对象中存在输入键,则计算结果为False(如果没有!,则表示"不存在")
  • 如果键不存在于对象中,我们将键值对添加到对象
  • 然后返回对象。如果键已经存在,则没有修改对象。如果key还不存在,我们将它添加到对象中。

只需将inputKeyinputValue替换为您输入的变量名称。

希望这是你正在寻找的!

最新更新