gpt4 book ai didi

javascript - 防止初始数组排序

转载 作者:行者123 更新时间:2023-12-01 23:54:42 25 4
gpt4 key购买 nike

我有一个数组,其中对象的顺序对于我最终在文档中输出数组时很重要。但是,我还在函数中对数组进行排序以找到最高值。问题是,在运行函数找到最高值后,我无法恢复数组的原始排序顺序。

// html document
var data = [75,300,150,500,200];

createGraph(data);

// js document

function createGraph(data) {

var maxRange = getDataRange(data);

// simpleEncode() = google encoding function for graph
var dataSet = simpleEncode(data,maxRange);

}

function getDataRange(dataArray) {
var num = dataArray.sort(sortNumber);
return num[0];
}

我还尝试将数据设置为dataA和dataB,并在getDataRange函数中使用dataB,在simpleEncode函数中使用dataA。无论哪种方式,数据最终总是从最高到最低排序。

最佳答案

正如您所发现的,对数组进行排序会就地修改数组。
为了防止这种情况,您需要 sort() 数组的单独副本,以便原始数组不受影响。

您可以通过调用slice()来复制数组:

var num = dataArray.slice().sort(sortNumber);

关于javascript - 防止初始数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2714595/

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