javascript - 以波形格式排序,但从特定数字开始
问题描述
什么可以快速以波形格式对数组进行排序但从特定数字开始
例如:从点开始:4 数组:[10,6,0,8,4,2]
并且每次输出必须是随机的,向不同的方向波动。
解决方案
function rand(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
let raznos =
[
0.0061, 0.00611, 0.00609,
0.00612, 0.00608, 0.00613,
0.00607, 0.00614, 0.00606,
0.00615, 0.00605, 0.00616,
0.00604, 0.00603, 0.00602,
0.00601
];
let start = 0.00610;
raznos.sort((a, b) => Math.abs(a - start) - Math.abs(b - start) || b - a);
if (rand(0,1)){
let new_raznos = [];
new_raznos.push(raznos[0]);
for(let i=2; i<=raznos.length; i=i+2){
if(raznos[i]){
new_raznos.push(raznos[i]);
}
new_raznos.push(raznos[i-1]);
}
raznos = new_raznos;
}
console.log(raznos);
推荐阅读
- javascript - Why will async/await Axios request not return Data instead of a promise object
- python - Split string at a specific number that is also contained in a larger number in the same string
- docker - 登录重置/丢失在 kubernetes 的 asp.net 核心容器中
- c# - 调用从基类继承的构造函数
- python - SQLAlchemy join adding unwanted FROM parameter
- sql - BigQuery SQL : Left Join with aggregate conditions
- python - Carriage return does not work with me correctly
- pytorch - AllenNLP DatasetReader.read 返回生成器而不是 AllennlpDataset
- swift - Xcode 12 and SVG from a string/text
- r - Using the grep command or another command for subsetting