From the following snippet, I have to iterate through all receipts, get the receipt number, and add that object to the JSON. But I am getting the same receipt in two JSON. Where am I missing? Can anyone help? Thanks in advance.
const shopList = [];
const shop = {
"shopNumber": "2242461",
"shopDate": "2020-06-13T00:00:00.000-05:00",
"shopAmount": "100",
"shopBank": "HDFC",
"shopDetails": {
"shopNumber": "1242461",
"shopDate": "2020-06-13T00:00:00.000-05:00",
"shopBank": "HDFC",
"shopAmount": "100"
},
"receiptDetails": [{
"userNumber": "115729",
"receiptNumber": "temp1"
},
{
"userNumber": "115726",
"receiptNumber": "temp2"
}
]
};
shop.receiptDetails.forEach((receipt) => {
var temp = shop.shopDetails;
temp.receiptNumber = receipt.receiptNumber;
shopList.push({
shopNumber: shop.shopNumber,
userNumber: Number(receipt.userNumber),
receiptNumber: receipt.receiptNumber,
shopDetails: temp,
isSync: 0
});
});
shopList.forEach((receipt) => {
console.log(receipt);
});
I am getting output as
{
shopNumber: '2242461',
userNumber: 115729,
receiptNumber: 'temp1',
shopDetails: {
shopNumber: '1242461',
shopDate: '2020-06-13T00:00:00.000-05:00',
shopBank: 'HDFC',
shopAmount: '100',
receiptNumber: 'temp2' ----**this should be temp1**
},
isSync: 0
} {
shopNumber: '2242461',
userNumber: 115726,
receiptNumber: 'temp2',
shopDetails: {
shopNumber: '1242461',
shopDate: '2020-06-13T00:00:00.000-05:00',
shopBank: 'HDFC',
shopAmount: '100',
receiptNumber: 'temp2'
},
isSync: 0
}