random sort javscript详解

该死的,是的我们网上的书籍大多数是看不懂的,对于我这个菜鸟来说!但我总相信一句话,那就是,答案在附近,靠谱的w3school.com.cn永远比www.w3cschool.cn靠谱,给出没有任何的说明的代码就是毒害群众,不是所有人都有老师,家里很有钱,但大多数人都是将自己的那点小知识藏得牢牢的,好了,我将详细来讲解这个sort;

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())

</script>
这个比较弱智的是相当于没用的额;
就像我永远只记兼容的写法,绝对不记不兼容的,谁搞的鬼.
<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>
第二个,小伙子其实前面都是废话,你在w3c可以看的.
这里才是关键;
引用:w3c里的话
  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。
 这个是一个固定的套路,但是也可以这样写

function(){return 0.5-Math.random()}

这里没有参数,没有关系,因为这句话里面是数字,而a-b也无非就是为了数字的范围,0.5-random 的范围是-0.5到0.5那就是符合上面那句,大于0,或者小于0;

你懂了吗?我再把这句话说一下0.5-random 的范围是-0.5到0.5那就是符合上面那句,大于0,或者小于0;如果你觉得这样写function(){return 0.5-0.2}也应该可以的.

但是事实上这是不可取的,因为永远是大于0,就永远不会改变,而random这个函数在比较的时候,一直在生成随机数,可能大于0.5,可能小于0.5.他一直在变化,所以才能改变,为什么都是数字,都不传参.

他的目的只是为了大于0或者小于0;,这里你还会难受为什么一定要传a,b,然后再a-b,https://www.cnblogs.com/AlvinZH/p/6784862.html这里有,不过是c语言里的,我感觉应该是一个道理.

最后还是回到地址,地址.

这样我在总结一下

参数:如果是字符的话需要传参,不然他怎么知道里面的a,b是谁.数字是不需要的因为他就是具体值

random:是为了生成大于0,或者小于0的数.

他是在循环的,原理我猜就是两个for函数排序.当然还要更复杂,除去字符,还有什么的,正则少不了.if判断.

猜你喜欢

转载自www.cnblogs.com/jialikesensi/p/9303456.html