我尝试使用许多不同的关键字进行搜索,但我无法获得我正在寻找的结果。
我创建了一个包含五个值的表:10,3,5,4,2 我在桌子上面有一排显示排名。
所以,在10以上,它应该说" 5" 高于3,它应该说" 2" 高于5,它应该说" 4" 高于4,它应该说" 3" 高于2,它应该说" 1"
我可以处理表格列。这是我不了解的主要剧本。
我以为我可以创建原始数据的重复数组并对副本进行排序 - 然后比较原始数据和重复数据以对它们进行排名。事实证明,当我对重复数组进行排序时,原始数据也会被排序。
我以为我可以创建2个重复的数组,而不是触及原来的数组。它仍然对所有阵列进行排序。那怎么办呢?
答案 0 :(得分:1)
听起来您正在寻找如何clone
或deep copy
数组。当你做类似的事情时:
var a = [5,4,3,2,1]
var b = a;
数组b
设置为引用数组a
。但是,如果您采取切片或执行其他操作来获取数据的副本(而不是引用实际结构的内容),则可以克隆该数组。如下所示:
var a = [5,4,3,2,1]
var b = a.slice(0);
如果您更改b
,会为您提供一个不会发生变化的数组a
。有关详细信息,请参阅this等文章。
答案 1 :(得分:1)
您可以使用spread复制数组。从那里你可以做一个简单的sort()
来获得你想要达到的等级:
const arr = [10, 3, 5, 4, 2];
const sortedArr = [...arr].sort((a,b) => a > b);
console.log(sortedArr);