gpt4 book ai didi

如果我改变某个地方,Javascript对象到处都会改变

转载 作者:行者123 更新时间:2023-11-28 13:22:46 25 4
gpt4 key购买 nike

我有一个对象,其中一个值是数字数组,我调用两个函数,第一个函数对数据进行排序并显示它,第二个函数只是显示它。

问题是,在第二个函数中,数据也是排序的。 (我没有在那里排序,数据已经排序了)

function1(data);
function2(data);

如何修复它?

最佳答案

对此的一个简单解决方案是创建该对象的副本,然后使用它。

如果不需要,您可以使用以下方法创建对象的副本:

b = Object.create(a)

在本例中,b 是 a 的副本,但如果您对 a 进行更改,它不会反射(reflect)在 b 中。欲了解更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create

原因:在javascript中对象是通过引用传递的 http://www.w3schools.com/js/js_function_parameters.asp

关于如果我改变某个地方,Javascript对象到处都会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31806659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com