微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的JavaScript对象函数将其参数名称分配为键而不是参数名称?

如何解决为什么我的JavaScript对象函数将其参数名称分配为键而不是参数名称?

我对Javascript对象还很陌生。我定义了一个非破坏性的函数来更新这样的对象:

function updateObjectWithKeyAndValue(object,key,value) {
  return Object.assign({},object,{ key: value }); 
}

let object = {a: 1};
console.log(updateObjectWithKeyAndValue(object,'b',2));
console.log(object);

我得到的函数返回值为{ a: 1,key: 2 }而不是{ a: 1,b: 2 }。有什么我做不对的事情吗?谢谢...

解决方法

{ key: value }是一个具有名为“ key”的属性的对象。要根据变量key中的值命名属性,请使用计算出的属性名称:

{ [key]: value }

如果您的JavaScript环境支持对象传播,则整个过程可以写为:

return { ...object,[key]: value };

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。