数组方法的总结 原型链中

数组方法的总结
原型链中

1、添加或者移除元素
Array.prototype.push() [改变原数组]
作用:入栈,将元素添加到数组的最后
参数: 入栈的元素
返回值:入栈后数组的长度
Array.prototype.pop() [改变原数组]
作用:出栈,将数组末尾元素从数组中拿出
参数: none
返回值:出栈元素
Array.prototype.shift() [改变原数组]
作用:出队,将数组第一个元素从数组中拿出
参数: none
返回值:出队元素
Array.prototype.unshift() [改变原数组]
作用:插队,将元素添加到数组的最前面
参数: 插队的元素
返回值:数组的长度
2、排序方法【改变原值】
Array.prototype.reverse() 【原值改变】
作用:将数组中的元素反转
参数:
返回值:反转之后的数组
Array.prototype.sort() [改变原数组]
作用:排序,将元素按照Ascii表进行排序
参数: node或者函数
返回值:返回排序后的数组
function handlar(a,b){
if(a>b){
return 1;
}else{
return -1;
}
}

      1) 比较器函数生成函数
      function compare(prop){
        return function(a,b){
          if(a[prop]>b[prop]){
            return -1;
          } else {
            return 1;
          }
        }
      }
      2) 调用生成函数生成一个比较器函数,f为比较器函数
      var f = compare("price")
      3) 将比较器函数作为参数传递给sort
      goods.sort(f);
      ---等价于---
      goods.sort((function(prop){
        return function(a,b){
          if(a[prop]>b[prop]){
            return -1;
          } else {
            return 1;
          }
        }
      })("price")); 						

3、截取方法
Array.prototype.concat() [不改变原数组]
作用:合并,将两个数组进行合并
参数:多个数组
返回值:合并的后的新数组
Array.prototype.slice(begin,end) [不改变原数组]
作用:截取子字符串并且返回
参数:begin表示截取的开始位置;end默认为0,结束位置 截取个数为 end-begin
返回值:截取后的字符串
Array.prototype.splice(begin,delete,insert,…) [改变原数组]
作用:截取 替换 删除
参数:begin表示截取的开始位置;delete表示删除的元素个数 insert插入的元素
返回值:被删除的元素组成的数组
4、 索引方法
Array.prototype.indexOf()
作用:返回元素的索引
参数:唯一
返回值:元素索引 如果没有指定的元素返回-1
Array.prototype.lastindexOf()
作用:返回元素的索引
参数:唯一
返回值:元素倒着数的第一个索引
5、序列化
Array.prototype.join(“s”)
将数组转换为字符串,通过s分割开数组中每个元素。
JSON.stringify() // es标准
querystring.stringify() // nodejs,浏览器(第三方)
6、 迭代 (循环)
Array.prototype.forEach(handler)
作用:遍历指定数组
参数:回调函数,可以接受3个参数(item,index,arr)
forEach方法每次遍历出来一个元素后都执行该回调函数
返回值:undefined
arr.forEach(function(item,index,arr){
item 为每次遍历出来的元素
index为遍历时候的索引
arr为当前正在遍历的数组
})
Array.prototype.every(handler)
作用:遍历指定数组,判断是否每个元素都满足指定条件
参数:回调函数,可以接受3个参数(item,index,arr),该回调函数会返回一个boolean值,当所有回调函数返回true,最终every方法的结果为true, 当有一个回调函数返回了false,该函数中止,every方法的结果为false
返回值:boolean
Array.prototype.some(handler)
作用:遍历指定数组,判断是否有元素都满足指定条件
参数:回调函数,可以接受3个参数(item,index,arr),该回调函数会返回一个boolean值,当有回调函数返回true,该函数中止,最终every方法的结果为true, 当所回调函数返回了false,every方法的结果为false
返回值:boolean
Array.prototype.map(handler)
作用:从指定元素中映射出某些值,组成新的数组返回
参数:回调函数,可以接受3个参数(item,index,arr),该回调函数会返回一个数组,数组元素为每个回调函数返回的值
返回值:Array
Array.prototype.filter(handler)
作用:从指定中过滤出满足条件的元素,组成新的数组返回
参数:回调函数,可以接受3个参数(item,index,arr),该回调函数会返回一个数组,数组元素为回调函数返回值为true的那个元素
返回值:Array

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值