根据键以外的属性删除存储在 formData 中的对象
Deleting objects stored in formData based on attribute other than key
我正在将文件存储到 formData
中,如下所示:
formData.append("images[]", file)
formData.append("images[]", file_2)
formData.append("images[]", file_3)
我知道可以使用 formData.delete()
删除文件,但在这种情况下,由于所有键都相同,我该如何具体删除值所在的对象,例如 file_2
?
函数 getAll() returns 包含特定键的所有值的数组。
var values = formData.getAll("images[]");
然后您可以从数组中删除特定值并将修改后的数组设置为新值。
var index = values.indexOf(file_2); //only necessary if you dont know the index
values.splice(index, 1);
formData.set("images[]", values);
不确定这是否是最佳方式。但是您可以使用 getAll
获取所有值。然后过滤并再次追加。 Demo.
const form = new FormData
form.append('names[]', 'Chris')
form.append('names[]', 'Bob')
form.append('names[]', 'John')
console.log(Array.from(form.entries()))
const names = form.getAll('names[]')
form.delete('names[]')
names
.filter(name => name !== 'Bob')
.forEach(name => form.append('names[]', name))
console.log(Array.from(form.entries()))
/* 添加索引 */
formData.append("images[0]", 文件)
formData.append("images[1]", file_2)
formData.append("images[2]", file_3)
/* 按索引删除 */
formData.delete(`图片[${index}]`)
我正在将文件存储到 formData
中,如下所示:
formData.append("images[]", file)
formData.append("images[]", file_2)
formData.append("images[]", file_3)
我知道可以使用 formData.delete()
删除文件,但在这种情况下,由于所有键都相同,我该如何具体删除值所在的对象,例如 file_2
?
函数 getAll() returns 包含特定键的所有值的数组。
var values = formData.getAll("images[]");
然后您可以从数组中删除特定值并将修改后的数组设置为新值。
var index = values.indexOf(file_2); //only necessary if you dont know the index
values.splice(index, 1);
formData.set("images[]", values);
不确定这是否是最佳方式。但是您可以使用 getAll
获取所有值。然后过滤并再次追加。 Demo.
const form = new FormData
form.append('names[]', 'Chris')
form.append('names[]', 'Bob')
form.append('names[]', 'John')
console.log(Array.from(form.entries()))
const names = form.getAll('names[]')
form.delete('names[]')
names
.filter(name => name !== 'Bob')
.forEach(name => form.append('names[]', name))
console.log(Array.from(form.entries()))
/* 添加索引 */
formData.append("images[0]", 文件)
formData.append("images[1]", file_2)
formData.append("images[2]", file_3)
/* 按索引删除 */
formData.delete(`图片[${index}]`)