我有一个 javascript if-else 语句。它从 websocket 获取数据,并根据条件为真或假进入相关分支。
但我发现添加到两个数组的数据是相同的。这是代码:
cities = JSON.parse(evt.data);
if (cities.tag == 'red'){
dataset.length = 0;
console.log(cities.tag);
for (var i = 0, item; item = buffer[i]; ++i) {
buffer[i][1][0] = cities.clusters[item[0]] || 0;
//console.log(buffer);
dataset.push(buffer[i][1][0]);
console.log('no1: ',dataset);
}
}else{
dataset2.length = 0;
console.log(cities.tag);
for (var i = 0, item; item = buffer2[i]; ++i) {
buffer2[i][1][0] = cities.clusters[item[0]] || 0;
dataset2.push(buffer2[i][1][0]);
console.log('no2: ',dataset2);
}
}
draw();
我知道它进入了正确的分支并且数据不同,但不知何故,else 分支中的代码只是复制了 if 分支中的数组。
我认为代码中一定有一些东西,但我看不到是什么。
谢谢