FormData 可以使用 set、append 来设置或添加键值对,可以通过 get 或 getAll 来获取某个键的值或值列表。这些都是基本操作,它还可以遍历,使用 for ... of 遍历,Array.from 来转换成数组,或者 [...data] 来转换键值对数组都可以。通过 .entries() 方法也可以拿到键值对,还可以通过 keys() 拿所有键。不过因为 FormData 允许一个键对应多个值,直接转成对象可能会产生非预期的结果。所以它似乎没有提供直接变成对象的方法。但是可以拿到 entries 再通过 Object.fromEntries() 来转const data = new FormData(); data.append("hello", "world"); data.append("hi", "James"); data.append("hi", "Jane"); const o1 = Object.fromEntries(data.entries()); // {hello: 'world', hi: 'Jane'} const o2 = Object.fromEntries([...data]); // {hello: 'world', hi: 'Jane'} const keys = [...data.keys()]; // ['hello', 'hi', 'hi']已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
FormData 可以使用 set、append 来设置或添加键值对,可以通过 get 或 getAll 来获取某个键的值或值列表。这些都是基本操作,它还可以遍历,使用
for ... of
遍历,Array.from
来转换成数组,或者[...data]
来转换键值对数组都可以。通过.entries()
方法也可以拿到键值对,还可以通过keys()
拿所有键。不过因为 FormData 允许一个键对应多个值,直接转成对象可能会产生非预期的结果。所以它似乎没有提供直接变成对象的方法。但是可以拿到 entries 再通过 Object.fromEntries() 来转