明月照山海- 2023-06-04 13:37 采纳率: 50%
浏览 33
已结题

javascript变量

尝试把连线节点和位置存储在本地,但是每次都只存储最后一组数据,这是为什么呢?

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));
}

img

  • 写回答

2条回答 默认 最新

  • Java&Develop 2023-06-06 14:57
    关注

    这是因为在循环中,每次都会重新定义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
    
    
    

    ```

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 专家已采纳回答 6月7日
  • 修改了问题 6月4日
  • 创建了问题 6月4日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价