Dapatkah Anda menjelaskan secara singkat data yang diperoleh oleh GetTicker () dan GetRecords () berdasarkan pada titik waktu apa?
Misalnya, ketika Anda mengalami masalah yang sangat aneh, berikut adalah kode:
function main() {
while (true) {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}
}
Rekaman output akhir selalu 0:

Tapi jika komentarnya dihapus dan pop () dihubungi:
function main() {
while (true) {
var records = exchange.GetRecords();
//records.pop();
Log(records.length);
Sleep(60000);
}
}
Saya tidak tahu apa yang terjadi.

Jika tidak ada lingkaran sementara, maka tidak ada masalah untuk menyimpan panggilan pop (():
function main() {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}

Apakah Anda bisa menjawabnya?
用这个 深拷贝函数试下, 每次 获取到的 records 深拷贝一下, 然后就可以随意修改 复制后的 变量了。
var cloneObj = function(obj) { // 深拷贝 对象函数
var str, newobj = obj.constructor === Array ? [] : {};
if (typeof obj !== 'object') {
return;
} else if (JSON) {
str = JSON.stringify(obj); //系列化对象
newobj = JSON.parse(str); //还原
} else {
for (var i in obj) {
newobj[i] = typeof obj[i] === 'object' ?
cloneObj(obj[i]) : obj[i];
}
}
return newobj;
};
- 1

