gpt4 book ai didi

javascript - 以与另一个数组相同的方式对一个数组进行排序 JavaScript

转载 作者:行者123 更新时间:2023-12-03 07:11:11 25 4
gpt4 key购买 nike

我有 2 个数组:

[2, 4, -2, 4, 1, 3]
["a", "b", "c", "d", "e", "f"]

我希望它们按数字数组排序:

// output
[-2, 1, 2, 3, 4, 4] // <-sorted by numerical order
["c", "e", "a", "f", "b", "d"] // sorted exactly the same order as the first array

虽然“b”或“d”先出现实际上并不重要(在本例中它们都有 4)

我在网上发现了很多与此相关的问题,但没有一个对我有用,有人可以帮助我吗?

最佳答案

您可以对 keys 进行排序基于它们的值的第一个数组。这将返回一个数组,其中的数组索引是根据 numbers 数组的值排序的。然后使用 map 根据索引获取排序后的值

const numbers = [2, 4, -2, 4, 1, 3],
alphabets = ["a", "b", "c", "d", "e", "f"]

const keys = Array.from(numbers.keys()).sort((a, b) => numbers[a] - numbers[b])

const sortedNumbers = keys.map(i => numbers[i]),
sortedAlphabets = keys.map(i => alphabets[i])

console.log(
sortedNumbers,
sortedAlphabets
)

关于javascript - 以与另一个数组相同的方式对一个数组进行排序 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59601504/

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