我想遍歷一個物件陣列并獲取所有物件的所有資料但只有我只得到最后一個物件的資料我不知道為什么它會跳過第一個物件,請任何人都可以幫助我
這是我的陣列
item {
_id: new ObjectId("627ed71261b2bd692178bdca"),
sn: 'fN300W15076fd5bg6dwf',
merchantId: '9000000058800',
merchantName: '999',
networkType: '220509',
__v: 0,
terminalId: '987654321',
resultData: [
{
_id: new ObjectId("627edb194884d85b48890da8"),
uniqueID: '68461616865',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '987654321',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edb494884d85b48890daa"),
uniqueID: '71616516',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '987654321',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edb5c4884d85b48890dac"),
uniqueID: '7117117717',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '987654321',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'APPROVED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edb674884d85b48890dae"),
uniqueID: '7117117717',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '987654321',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'PENDING',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
}
]
}
----------------------------------------------------
item {
_id: new ObjectId("627ed78561b2bd692178bdd3"),
sn: 'fN300W15076fd5bg6dwf',
merchantId: '9000000058800',
merchantName: '999',
networkType: '220509',
__v: 0,
terminalId: '123456789',
resultData: [
{
_id: new ObjectId("627edb884884d85b48890db0"),
uniqueID: '97279279',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'GOOD',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edb994884d85b48890db2"),
uniqueID: '928498452',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edba54884d85b48890db4"),
uniqueID: '6824684294',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edbe0ade509d1bd9b5277"),
uniqueID: '6824684294',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
}
]
}
----------------------------------------------------
[
{
_id: new ObjectId("627edb884884d85b48890db0"),
uniqueID: '97279279',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'GOOD',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edb994884d85b48890db2"),
uniqueID: '928498452',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edba54884d85b48890db4"),
uniqueID: '6824684294',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
},
{
_id: new ObjectId("627edbe0ade509d1bd9b5277"),
uniqueID: '6824684294',
transactionAmount: '050413',
currencyCode: '9000000058800',
terminalId: '123456789',
transactionDate: '999',
transactionTime: '220509',
transactionType: 'DECLINED',
cardPAN_PCI: 'XXXXXXXXXXXXXXX166',
onlineRetrievalReferenceNumber: '6161651613516',
outcome: 'DONE',
encryptionKeyKCV: '651616161616516',
transactionEncrypted: 'SUHTHROTRTH161461'
}
]
如您所見,我只得到最后一個物件的陣列
對于誰好奇我的代碼是什么樣子的
async getLogByTPE() {
let result;
const data = await this.tpeModel
.aggregate([
{
$lookup: {
from: 'logs',
localField: 'terminalId',
foreignField: 'terminalId',
as: 'resultData',
},
},
// { $unwind: '$resultData' },
// {
// $project: {
// uniqueID: '$logs.currenuniqueIDcyCode',
// terminalId: '$logs.terminalId',
// transactionAmount: '$logs.transactionAmount',
// currencyCode: '$logs.currencyCode',
// transactionDate: '$logs.transactionDate',
// transactionTime: '$logs.transactionTime',
// transactionType: '$logs.transactionType',
// cardPAN_PCI: '$logs.cardPAN_PCI',
// onlineRetrievalReferenceNumber:
// '$logs.onlineRetrievalReferenceNumber',
// outcome: '$logs.outcome',
// encryptionKeyKCV: '$logs.encryptionKeyKCV',
// transactionEncrypted: '$logs.transactionEncrypted',
// },
// },
])
.then((ok) => {
//start of test
// for (let i = 0; i <= ok.length; i ) {
// console.log('ok', ok[i].resultData[i]);
// data1 = JSON.stringify(ok[i]);
// }
//end of test
// console.log('OOOKKKK', ok);
ok.forEach((item) => {
console.log('item', item);
console.log('----------------------------------------------------');
//console.log('resultData', item.resultData);
result = item.resultData;
// result = item['resultData'].forEach((sub) => {
// console.log('sub', sub);
// return sub;
// });
});
});
// let subitemresult;
// let result = data.forEach((item) => {
// console.log('item', item);
// console.log(
// 'item.resultData',
// item.resultData.forEach((subitem) => {
// console.log('subitem', subitem);
// }),
// );
// });
// console.log('data', data);
// console.log('result', JSON.stringify(result));
console.log(result);
return result;
}
ok => 我的物件陣列
item => 陣列內的物件
resultData => 我想獲取的資料
不幸的是我只有最后一個物件的 resultData,如上所示
uj5u.com熱心網友回復:
在回圈中存盤資料的結果變數在每次迭代時都會被覆寫,因此當您回傳時,只存盤最后一個值。快速修復可以在結果宣告中分配一個空陣列
let result: any = [];
然后在回圈內你可以推送到陣列結果。將此更改result = item.resultData;為
result.push(item.resultData);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/475615.html
標籤:javascript 数组 打字稿 目的
上一篇:試圖將字串的值轉換為陣列
