我正在完成Codewars.com上的排列kata,并且在我的调查中遇到了这行代码(我知道这是不相关的,或者至少我认为我知道):
function permutations(string) {
let arrayPerm = string.split('');
let cbFunc = function (){
return 0.5 - Math.random();
};
arrayPerm.sort(cbFunc);
console.log(arrayPerm);
}
permutations('abab');有人能告诉我在第3-6行发生了什么吗?
发布于 2020-10-15 19:10:08
它对元素进行随机排序。通过从0.5获取Math.random() (0 <= n < 1),排序比较函数随机返回小于或大于0(或者从技术上讲,如果我们碰巧随机获得0.5,则返回0)以确定元素排序。
您可以在此处阅读有关排序比较函数的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
https://stackoverflow.com/questions/64370139
复制相似问题