关于冒泡排序可视化中的 JSON 疑惑?

for (var i = divs_value.length-1; i>0;i--) {
    for (var j = 0; j < i; j++) {
        if (divs_value[j] > divs_value[j+1]) {
            var smaller = divs_value[j+1];
            divs_value[j+1] = divs_value[j];
            divs_value[j] =  smaller;
            state.push(JSON.parse(JSON.stringify(divs_value)))
            // state.push(divs_value)
        }
    }
}

在很多的冒泡可视化的例子中,我发现他们都采取的是1的做法而非2.我测试了下列的两种用法发现结果都是一样的.那么使用下面两者的区别在哪里?或者说使用 JSON 方法的优势在哪里?

  1. state.push(JSON.parse(JSON.stringify(divs_value))

  2. state.push(divs_value)

阅读 1.7k
1 个回答

结果不应该是一样的。JSON那个是深拷贝。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题