Javascript 在严格模式下使用delete删除对象条目
我有一个vue项目,我必须将表单条目提交到api端点。不幸的是,提交的任何空字段都会在服务器上引发错误。因此,我为表单对象提出了一个类似.filter的方法,如下所示:Javascript 在严格模式下使用delete删除对象条目,javascript,strict,Javascript,Strict,我有一个vue项目,我必须将表单条目提交到api端点。不幸的是,提交的任何空字段都会在服务器上引发错误。因此,我为表单对象提出了一个类似.filter的方法,如下所示: Object.entries(formValues).forEach(([key, value]) => { if (value === "") { delete key; } }); 目标是: form: { searchTerm: "",
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
语句意味着您要删除参数,这在严格模式下是不允许的。不过,您仍然可以删除对象属性。谢谢。我用的是点符号。我忘了不能在里面使用变量。