gpt4 book ai didi

javascript - 拆分字母数字字符进行排序,然后在 javascript 中连接回去

转载 作者:行者123 更新时间:2023-11-29 10:05:53 25 4
gpt4 key购买 nike

我正在尝试对一堆看起来像这样的字母数字字符进行排序:

[AD850X, MP342X, OP452X, ZC234X, ZC540X]

排序应该仅基于数字,因此我必须从该代码中删除所有字母字符,然后我想在出于我的代码目的对它们进行排序后将这些字符添加回去,就像它们以前一样。例如,上面的字符串首先应该是这样的:

[850, 342, 452, 234, 540]

然后这个,

[234, 342, 452, 540, 850]

最后是这个,

[ZC234X, MP342X, OP452X, ZC540X, AD850X]

我一直在考虑如何做到这一点,但我不确定如何在排序后在前面获得相同的两个字母以重新附加到数字代码(最后一个字符,在本例中为“X”,将始终相同,我会像以前一样在添加前两个字母字符后连接此值。

如果有人能帮我解决这个问题,我将不胜感激。

谢谢!

编辑:另一个问题,一旦运行,我只想输出数组的低值和高值(可以有不同数量的元素)。我尝试使用 .min 和 .max 但不确定如何使用排序后记录的数组。所以在上述情况下,我只需要“ZC234X”和“AD850X”。

最佳答案

您可以使用对象作为哈希表来存储元素及其编号,然后根据该对象的值进行排序。

var data = ['AD850X', 'MP342X', 'OP452X', 'ZC234X', 'ZC540X'];
var obj = {}

data.forEach(e => obj[e] = e.match(/\d+/)[0])
var result = data.sort((a, b) => obj[a] - obj[b]);
console.log(result)

关于javascript - 拆分字母数字字符进行排序,然后在 javascript 中连接回去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43392856/

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