为什么FormData的实例对象输出看不出来具体的属性

image.png
只输出这个,但是用formData.get('具体属性')就可以取到值

阅读 1.5k
1 个回答

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 周年「问答」打卡 ,欢迎正在阅读的你也加入。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题