【问题标题】:Deleting an Object Entry with delete in Strict Mode在严格模式下使用 delete 删除对象条目
【发布时间】:2019-04-26 14:45:23
【问题描述】:

我有一个 vue 项目,我必须将表单条目提交到 api 端点。不幸的是,任何提交的空字段都会在服务器上引发错误。所以我想出了一个类似于 .filter 的表单对象方法,如下所示:

Object.entries(formValues).forEach(([key, value]) => {
        if (value === "") {
          delete key;
        }
      });

对象是:

form: {
        searchTerm: "",
        mediaType: "",
        yearStart: "",
        yearEnd: ""
      }

我不知道 WebPack 正在应用的严格模式下的局部变量上禁止删除命令。有没有办法删除对象条目?尚未在不同的网站上看到这种情况的答案。

【问题讨论】:

  • 将值设置为 undefined 会满足您的需求吗?
  • 对不起,我试过了,服务器拒绝了。我需要删除任何空字段,就像 .filter 对数组所做的那样。如果是一个数组那么简单。
  • 你必须delete formValues[key];——你写的delete语句意味着你想删除参数,这在严格模式下是不允许的。但是,您仍然可以删除对象属性。
  • 谢谢。我正在使用点符号。我忘了不能在里面使用变量。

标签: javascript strict


【解决方案1】:

您应该显式使用该对象以从对象中删除属性/属性:

Object.entries(formValues).forEach([key, value] => {
  if (value === "") {
    delete formValues[key];
  }
});

【讨论】:

    猜你喜欢
    • 2015-10-11
    • 2023-04-06
    • 2013-05-15
    • 1970-01-01
    • 2012-06-15
    • 2016-08-15
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多