首先,您好,这是我第一次在这里寻求帮助,对于违反此论坛上的任何规定,我深感抱歉。
那是我的问题。
基本上,问题是当我尝试将Object类型的元素推入数组时,该数组中的值都是相同的,而我希望它们具有不同的值。
我已经尝试过在每个循环中创建新对象,还尝试过foreach循环和for ... in循环。
var date = new Date();
var dateTakenArr = [];
var jsonSend = {};
for(i=0;i<3;i++){
var z = jsonSend;
var k = date.toISOString().split("T")[0];
z.date = k;
console.log(z); <--- logs different value every time - works
dateTakenArr.push(z);
date.setDate(date.getDate() + 1);
}
res.send(dateTakenArr);
我期望数组中的每个对象具有与服务器控制台中记录的值不同的值:
{ date: '2019-07-18' }
{ date: '2019-07-19' }
{ date: '2019-07-20' }
作为响应发送的是:
[
{
"date": "2019-07-20"
},
{
"date": "2019-07-20"
},
{
"date": "2019-07-20"
}
]
通过邮递员,这是for循环中的最后一个值。 谢谢您的帮助!