javascript - 比较 javascript FormData 对象
问题描述
如何比较 FormData 对象,我试图在发送 ajax 请求之前检查表单是否已更改。
但似乎无法比较对象。有没有办法将它转换为 js 对象或优雅的方式?
let a = new FormData()
let b = new FormData()
console.log(a === b ) // returns false
解决方案
我会试试这个
const a = new FormData();
a.append("username", "Alexander");
a.append("accountnum", 123);
const b = new FormData();
b.append("username", "Alexander");
b.append("accountnum", 123);
let different = false
for (let [key, value] of b.entries()) {
if (a.get(key) !== value) different = true
}
或者您可以尝试在 处迭代两个对象并比较它们,这可能会更高效。
JSON.stringify([...a.entries()]) === JSON.stringify([...b.entries()])
推荐阅读
- postgresql - 如何从 Google Colab 连接 Postgres 数据库?
- php - Woocommerce 产品标签的不同状态
- download - 角度 byte64 转换为 pdf 返回 #Blocked
- c# - 如何通过 Selenium 和 C# 调用 SendKeys() 到输入元素
- apache-spark - 如何过滤火花数据框中的日期数据?
- python - 我想用 BeautifulSoup 从表中刮掉所有成员的详细信息
- .net - ILDASM 中的注释行代码大小 0 是什么以及何时生成?
- vue.js - 如何在 Vuepress 站点中使用 vue-apollo?
- php - 将实体传递给 Symfony4 中的 createForm 方法
- python - RNN 的不稳定行为