尝试把连线节点和位置存储在本地,但是每次都只存储最后一组数据,这是为什么呢?
function saveline() {
var line = {}, x = 0;
for (var k = 0; k < node.length; k++) {
line[x] = getLineData(node[k], node[k + 1], "Right-middle", "Left-middle");
x++;
k++;
}
localStorage.setItem('Lines', JSON.stringify(line));
}
这是因为在循环中,每次都会重新定义line对象,而不是将新的数据添加到已有的对象中。因此,每次循环只会存储最后一组数据。要解决这个问题,可以将line对象定义在循环外面,并使用line[x]来添加新的数据。例如:
function saveline() {
var line = {};
var x = 0;
for (var k = 0; k < node.length; k++) {
line[x] = getLineData(node[k], node[k + 1], "Right-middle", "Left-middle");
x++;
k++;
}
localStorage.setItem('Lines', JSON.stringify(line));
}
```java
```
你k每次加两回,当然是每两个节点都拿到R和L