我想在陣列中生成 JSON 資料以傳遞給另一個組件。為此,我采用了如下方法。但我想我不是很好。我是這個行業的新手,正在努力學習。
employeeMoney: any[] = [];
employeeId: any[] = [];
this.employeeMoney.push(event.target.value);
this.employeeId.push(employId);
這就是我如何將我從用戶那里獲得的資料與輸入一起拋出。我將資料推送到我在同一個函式中創建的這個陣列中。
this.employeeMoney.map(function(item) {
blopp.all.money.push(item);
});
this.employeeId.map(function(item) {
blopp.all.id.push(item);
});
let blopp: any = {
all: [{id: '', money:''}]
};
我的目標是將來自 2 個不同陣列串列的資料收集到一個串列中。然后我想使用我在這個單一串列中收集的資料以我想要的格式生成 JSON 資料。但在這里我遇到了一個錯誤。當您在輸入中輸入資料時。控制臺中會彈出此錯誤。
錯誤參考錯誤:初始化前無法訪問“blopp”
我無法解決這個錯誤。我正在嘗試使用最新的貨幣和 ID 資料創建這樣一個 JSON 結構。
blopp.map(function(item: any) {
blopp.money.push({
"employee_id" : '',
"amount" : item,
"currency" : 'USD'
})
});
但是我在這里有一個問題,如何將同一個陣列串列中的 2 個不同資料列印到同一個 JSON 結構。
uj5u.com熱心網友回復:
假設兩者employeeMoney和employeeId將始終具有相同的順序和長度,如果它們以某種方式連接。這是一種可能的解決方案。
const length = employeeId.length;
for (let index = 0; index < length; index ) {
blopp.all.push({id: employeeId[index], money: employeeMoney[index]})
}
但作為旁注,我不知道你到底在做什么,但我對此有一種不好的感覺。也許您的系統設計有一些問題?
uj5u.com熱心網友回復:
首先,您必須修復型別,因為您將它們宣告為字串并將資料結構放入其中。
其次,您不能像正在做的那樣直接推送陣列屬性: blopp.all.money.push(item);
這是答案,因為blopp是一個包含型別物件陣列的物件,{id: '', money: ''}當您推送時,您應該執行以下操作:
blopp.all.push({id: 1, money: '1000'})
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/312575.html
