js数组

 

数组排序:
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值