क्या आप यह बता सकते हैं कि GetTicker और GetRecords किस समय के आधार पर डेटा प्राप्त करते हैं?
उदाहरण के लिए, एक बहुत ही अजीब सवाल के साथ, नीचे दिया गया कोडः
function main() {
while (true) {
var records = exchange.GetRecords();
records.pop();
Log(records.length);
Sleep(60000);
}
}
अंतिम आउटपुट रिकॉर्ड्स की लंबाई हमेशा 0 रही है:

लेकिन अगर टिप्पणी में पॉप () कहा जाता है:
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

