js数组

it2022-05-05  206

 

数组排序: arr.sort([比较器函数对象]): 直接将原数组按升序排列! 默认sort方法,将所有元素统一转为字符串,PK unicode ***自定义数组排序:2步: 1. 先定义比较器函数: 比较器函数:通过返回>0或<0或=0的数 判断任意两值的大小 要求:如果a>b,则返回>0的数 如果a<b, 则返回<0的数 如果a=b,则返回=0的数 比如:a-b 1-12 <0 说明 a<b 123-23 >0 说明 a>b 3-3 =0 说明 a=b 固定套路:function compare(a,b){ return a-b; } 函数本质:js中的函数也是一个对象! 函数名是引用函数对象的变量名! 2. 将比较器函数作为参数,传入sort方法 function compare(a,b){ return a-b; } //var compare=function(a,b){return a-b;} arr.sort(compare); 何时要加():只要调用函数时,都要加() 何时不加:将函数作为对象传递时,仅用函数名即可! 不加圆括号

所有排序算法,只有升序排列! 只要颠倒比较器的正负号(*-1),即可升序改降序。 其实第一步和第二步可写成1句话: arr.sort(function(a,b){return a-b;}); *节省内存空间!*

function fun(a,b){return a-b;}/*才会被声明提前*/ vs var fun=function(a,b){return a-b;} 差别: 栈和队列:js中没有专门的栈和队列的类型 都是用数组模拟出来的! 栈:一端封闭,只能从另一端进出的数组 FILO 何时:只要数组只能从一端进出时 末尾入栈:arr.push(新值,...) 末尾出栈:var elem=arr.pop();

从头入栈:arr.unshift(新值,...) 从头出栈:var elem=arr.shift();

队列:只能从末尾进入,从头出的数组 FIFO 何时:希望数组中的元素按进入的顺序,依次使用时

 

   易悦(深圳)科技有限公司

        让快乐更简单

     微信:EJoyYOJOY

微博:http://weibo.com/EJoyYOJOY

官网:http://www.ejoytec.com/

 

转载于:https://www.cnblogs.com/Ejoy/p/5750499.html


最新回复(0)