zoukankan      html  css  js  c++  java
  • 关于js中的sort

    arr=[1,2,3,4]

    arr.sort(-1);//倒序
    arr.sort(1);//正序
    arr.sort(function(){
    return 0.5-Math.random();//这里会返回7个随机数。
    });
    我原本以为。。arr.sort(1);这种写法的话。他是传一个1,然后函数按这个数对数组中所有数进行匹配、、、
    我现在觉得大概是这样的。他其实是进行了多次循环,每次都给数组传一个1,所以数组中每一个数都会与上一个数进行匹配大的排前面。
    所以
    0.5-Math.random()是因为每次循环传给他的值都是不一样的,所以他有时候升序有时候降序。

    假设随机数是一个数组
    suiji=[0.07,0.2,-0.1,0.3,0.4,-0.02
    ]
    arr=[1,2,3,4];使用了随机sort后输出的是[2,4,3,1]
    1.将1,和2比较=0.07,换位arr=[2,1,3,4]
    2.将1,3比较=0.2 换位 arr=[2,3,1,4];
    3.将2,3比较=-0.1 不换位arr=[2,3,1,4];
    4.将1,4比较=0.3 换位arr=[2,3,4,1];
    5.将3,4比较=0.4 换位 arr=[2,4,3,1];
    6.将2,4比较=-0.02 不换位arr=[2,4,3,1];
    也就是说, 每次换位后他还会两两比较 ,将没比较过的相邻两位数进行比较。。。厉害了我的sort



    万事开头难 然后中间难 最后结尾难
  • 相关阅读:
    Flex中States的用法
    MAX脚本翻译教学
    WARN No appenders could be found for logger 解决
    解压版(绿色版)Tomcat配置
    Bootstrap入门
    什么时候用margin、padding
    简易的商品统计
    块级元素&行内元素
    不定宽元素水平居中
    JavaScript与表单交互(表单验证模型)
  • 原文地址:https://www.cnblogs.com/chaimens/p/6272596.html
Copyright © 2011-2022 走看看