আপনি কি একটু ব্যাখ্যা করতে পারবেন যে, GetTicker এবং GetRecords কোন সময়ের উপর ভিত্তি করে তথ্য সংগ্রহ করেছে?
উদাহরণস্বরূপ, একটি খুব অদ্ভুত প্রশ্নের সম্মুখীন হলে, নিম্নলিখিত কোডটি ব্যবহার করুনঃ
function main() {
while (true) {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}
}
সর্বশেষ আউটপুট রেকর্ডের দৈর্ঘ্য 0:

কিন্তু যদি আপনি pop () নামটি ব্যবহার করেনঃ
function main() {
while (true) {
var records = exchange.GetRecords();
//records.pop();
Log(records.length);
Sleep(60000);
}
}
এবং শেষ পর্যন্ত, ফলাফল স্বাভাবিক ছিলঃ

যদি কোন while loop না থাকে, তাহলে pop () কলটি সংরক্ষণ করা ঠিক আছে:
function main() {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}

এই প্রশ্নের উত্তর দিতে পারেন?
用这个 深拷贝函数试下, 每次 获取到的 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

