Javascript 在严格模式下使用delete删除对象条目

Javascript 在严格模式下使用delete删除对象条目,javascript,strict,Javascript,Strict,我有一个vue项目,我必须将表单条目提交到api端点。不幸的是,提交的任何空字段都会在服务器上引发错误。因此,我为表单对象提出了一个类似.filter的方法,如下所示: Object.entries(formValues).forEach(([key, value]) => { if (value === "") { delete key; } }); 目标是: form: { searchTerm: "",

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

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

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

我不知道WebPack在严格模式下禁止对局部变量执行delete命令。有没有办法删除对象条目?尚未在不同站点上看到此方案的答案。

您应该明确使用该对象,以便从对象中删除属性/属性:

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

为了从对象中删除属性/属性,应明确使用对象:

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

将值设置为“未定义”可以满足您的需要吗?很抱歉,我尝试了,但服务器拒绝了。我需要删除任何空字段,就像.filter在数组上一样。如果是数组,那么很容易。你必须
删除formValues[key]
-您编写的
delete
语句意味着您要删除参数,这在严格模式下是不允许的。不过,您仍然可以删除对象属性。谢谢。我用的是点符号。我忘了不能在其中使用变量。将值设置为“未定义”是否满足您的需要?抱歉,我尝试了此操作,但服务器拒绝了它。我需要删除任何空字段,就像.filter在数组上一样。如果是数组,那么很容易。你必须
删除formValues[key]
-您编写的
delete
语句意味着您要删除参数,这在严格模式下是不允许的。不过,您仍然可以删除对象属性。谢谢。我用的是点符号。我忘了不能在里面使用变量。