多个array.sort后更改了数组顺序

问题描述 投票:0回答:1

我有一个排序数组的代码

const timeSorted = wheater.list.sort((z,x)=>
{
    return z.dt- x.dt
})
console.log(timeSorted)

我得到的输出是排序的 但如果我添加这样的另一种

const timeSorted = wheater.list.sort((z,x)=>
{
    return z.dt- x.dt
})
const tempSorted = wheater.list.sort((a,b)=>
{
    return a.main.temp - b.main.temp
})
console.log(timeSorted)

const timeSorted变为tempSorted

我该如何解决这个问题?

javascript arrays sorting variables
1个回答
4
投票

数组已就地排序。

为了不更改它,您需要使用oldArray.slice()创建前一个数组的副本。

const tempSorted = wheater.list.slice().sort((a,b)=>
{
    return a.main.temp - b.main.temp
})
© www.soinside.com 2019 - 2024. All rights reserved.