JS标准库之Array

slice(start,end )

提取目标数组的一部分数据,并以新数组返回,start与end含头不含尾,原数组保持不变. 如果省略参数,则返回原数组的拷贝.

参数也可以是负数,表示倒数计算的位置.

如果start大于等于数组长度,或者end小于start 则返回空数组.
slice方法一个重要应用是将类数组的对象转换为真正的数组.

Array.prototype.slice.call ( { 0:'a',1:'b' } ); // ['a','b']

splice( )

用于删除原数组的一部分成员,并可以在删除的位置添加新的成员,返回被删除的元素 . 该方法会改变原数组.

Array.prototype.splice(start,count,addElement1,addElement2,...)

sort( )

对数组元素以字典顺序进行排序

自定义排序方式如下:

[11,1011,111].sort(function (a,b){
  return a-b;//大于0表示a>b a排在b后面
})

map( ),forEach( )

map方法第一个参数为function(element,index,arr)),还可以接收第二个参数,用于绑定回调方法内部的this变量.

var arr=['a','b','c'];
[1,2].map(function(element,index,array){
  return this[e]
},arr);
// ['b','c']

如果数组有空位,map方法会跳过数组的空位,但不会跳过undefined和null

forEach方法的使用与map一样,只是不返回数据,执行过程中无法中断执行,如果希望中途中断遍历,要使用for循环.

reduce( ),reduceRight( )

依次处理数组的每个成员,最终累计为一个值,前者从左到右遍历,后者反之.

回调方法的参数结构如下:

1.累积变量,默认为数组的第一个成员

2.当前变量,默认为数组的第二个成员

3.当前位置(从0开始)

4.原数组

其中前两个是必须的,后两个则是可选的

[1,2,3,4,5].reduce(function(ret,curr){
  return ret+curr;
})
// 15

如果要对累积变量指定初值,可以把它放在reduce方法的第二个参数位置

但是如果指定累积初始值后,回调方法的第一个参数就是指定的初始值,第二个参数默认为数组第一个成员.

[1,2,3,4,5].reduce(function(ret,curr){
  return ret+curr;
},10)//25
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值