大家早上好,Javascript中是否有一種方法可以轉換為
{
Control[0].Eseguito: "true"
Control[0].Id:"2"
Control[0].Nota:""
Control[1].Eseguito: "true"
Control[1].Id:"2"
Control[1].Nota:""
}
到 javascript 陣列?
Control: Array(2)
0: {Id: '1', Eseguito: "true", Nota: ''}
1: {Id: '1', Eseguito: "true", Nota: ''}
編輯
let myForm = document.getElementById('ControlForm');
var Controls = Object.fromEntries(new FormData(myForm).entries());
在我的 ExecControl.cshtml 我有這樣的情況,這只是一小段代碼
@{
int Indice = 0;
}
@for (int i = 0; i < Model.ListControls.Length; i )
{
for (int j = 0; j < Model.ListControls[i].Controls.Length; j )
{
...
<input type="text" style="width:100%;" name="Control[@Indice].Nota"/>
input type="text" style="width:100%;" name="Control[@Indice].Id" value="@ListControls[i].Controls.Id"/>
...
}
}
uj5u.com熱心網友回復:
您只能使用此方法將 [index] 型別的資料轉換為陣列。
var formData = new FormData();
formData.append("Control[0].Id",1);formData.append("Control[0].Nota","Notaval");formData.append("Control[1].Id",2);formData.append("Control[1].Nota","Nott");
function toArray(data){
var result = [];
for (const [key,value] of data.entries()) {
if(!key.includes("[") || !key.includes("]")) {return;}
var indexVal = key.indexOf("[") 1;
var indexVal2 = key.indexOf("]");
var index = parseInt(key.substring(indexVal,indexVal2))
if(index == NaN){ return;}
var field = key.split(".")[1]
result[index] = {...result[index],[field]:value}
}
return result;
}
console.log(toArray(formData));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/504818.html
標籤:javascript
