gpt4 book ai didi

javascript - 根据另一个数组的顺序对数组进行排序

转载 作者:行者123 更新时间:2023-12-04 01:05:03 35 4
gpt4 key购买 nike

我有一个大小如下的数组:

var arr = [
'small',
'small',
'small',
'small',
...
'medium',
'medium',
'medium',
'medium',
...
'big',
'big',
...
];

我需要按照这个顺序重新组织这个数组:
var order = ['small', 'small', 'medium', 'medium', 'big'];

所以结果最终是这样的:
var arr = [
'small',
'small',
'medium',
'medium',
'big',

'small',
'small',
'medium',
'medium',
'big'

...
];

我知道 SO 中的其他类似问题,但到目前为止我找不到任何东西。我不确定如何处理这个问题。我在想 sort应该做,但我要测试什么?这似乎很简单,但我被卡住了,不知道从哪里开始。有什么提示吗?

最佳答案

只需为您的排序方法定义一个记分器。
这是你的代码。试试看

var init_arr = ['small', 'big', 'big', 'medium'];

var scorer = {
small: 0,
medium: 1,
big: 2
}

// You can use the same array too. I am creating new one.
var final_arr = init_arr.sort(function(a,b) {
return scorer[a]-scorer[b];
});

alert(final_arr); //small, medium, big, big

Working Fiddle

关于javascript - 根据另一个数组的顺序对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15540211/

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