gpt4 book ai didi

JavaScript 数组排序

转载 作者:行者123 更新时间:2023-12-02 17:29:02 25 4
gpt4 key购买 nike

barValues 是我传递给函数的数组。在函数中我有这个:

alert(barValues);

var sortedBarValues = barValues;
sortedBarValues.sort(function(a,b){return b - a});

alert(barValues);

我试图最终得到两个数组。 barValues 是原始数组,sortedBarValues 是该数组的副本,现已排序。

但是,通过这两个警报,我发现 barValues 也正在排序。这是为什么?制作数组副本以便将其与原始数组分开排序的正确方法是什么?

最佳答案

使用语句var排序BarValues = barValues;,您并没有复制数组。你只是做一个引用。两个名称都引用同一个数组。

您可以使用var排序BarValues = barValues.slice();复制它。 slice 方法用于切片数组,但如果您不向其传递任何参数,它将创建一个副本。

请记住,使用切片方法在多维数组上无法正常工作。复制多维数组有点棘手,但 jQuery 的扩展函数可以为您做到这一点。

您可以在 this post 中查看有关如何复制数组的信息.

关于JavaScript 数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1500986/

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