1 回答

TA貢獻1906條經(jīng)驗 獲得超3個贊
沒有內(nèi)置的東西可以做到這一點。數(shù)組上的一個簡單的 reduce 循環(huán)可以將其映射到您想要的格式。
var formData = new FormData(document.querySelector('form'))
var entries = formData.entries();
var data = Object.fromEntries(entries);
var result = Object.entries(data).reduce(function(result, entry) {
const keys = entry[0].match(/([^[]+)\[([^\]]+)/)
result[keys[1]] = result[keys[1]] || {};
result[keys[1]][keys[2]] = entry[1];
return result
}, {});
console.log(result);
<form>
<input name="a[foo]" value="a-foo-1" />
<input name="a[bar]" value="a-bar-1" />
<input name="b[foo]" value="b-foo-1" />
<input name="b[bar]" value="b-bar-1" />
<input name="c[foo]" value="c-foo-1" />
<input name="c[bar]" value="c-bar-1" />
</form>
添加回答
舉報