关于数组方法的总结

数组方法:

  • arr.toString() 与 arr.join()输出相同,不过join里可以输入其它链接符
  • arr.push(item)
    接受任意数量的参数,添加到数组末尾,返回新数组的长度
  • arr.pop()删除数组最后一项,返回删除的项
  • arr.unshift()
    接受任意数量的参数,添加到数组头部,返回新数组的长度
  • arr.shift()
    删除数组第一项,返回删除的项
  • arr.sort()
    如果不传参数,默认情况下数组内的元素会被转换为字符串进行比较,返回值为排序后的新数组。原数组会被改变
//对象形式的数组按属性排序
var arr = [
    {name:'zopp',age:0},
    {name:'gpp',age:18},
    {name:'yjj',age:8}
];

function compare(property){
    return function(a,b){
        var value1 = a[property];
        var value2 = b[property];
        return value1 - value2;
    }
}
console.log(arr.sort(compare('age')))
  • arr.concat()
    没有传递参数,那么只是复制当前数组并返回副本,原数组不变;
    传递一个元素(数组)或多个元素(数组),会将其合并到arr中,返回新数组,原数组不变
  • arr.slice
    剪切数组,返回剪切之后的数组,元素不会改变
    1、传入一个参数,表示起始位置,结束位置为最末尾;2、传入2个参数,表示起始位置与结束位置,但不包括结束位置所在的元素
  • splice()
  1. 删除:arr.splice(index, num)
    传入两个参数,第一个为位置( 数组下标),第二个为删除的项数,可以删除任意项,返回删除元素组成的数组,原数组变了

  2. 插入:arr.splice(index,0,item)
    传入3个参数, [起始位置( 数组下标) | 要删除的项数 为0 | 要插入的元素], 最终返回删除掉的元素组成的数组,因为这里删除项数为0,因此会返回空数组

  3. 替换:arr.splice(index, num, item)
    传入3个参数,[起始位置 | 要删除的项数 | 要插入的任意项数], 最终返回删除掉的元素组成的数组

  • arr.reduce()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是ES5中新增的又一个数组逐项处理方法,
  • arr.map()
    对数组中的每一项运行给定函数,返回每次函数调用的结果组成的新数组
//返回nums中每一项乘以2的数组
var nums = [1,2,3,4,5,4,3,2,1]
nums.map((item, index, arr)=> item * 2 ) // [2, 4, 6, 8, 10, 8, 6, 4, 2]
  • arr.forEach()
    对数组中的每一项运行给定函数,这个方法没有返回值
//返回nums中每一项乘以2的数组
var nums = [1,2,3,4,5,4,3,2,1]
nums.forEach((item, index, arr)=> item * 2 ) // undefined
  • arr.indexOf()
    验证数组中是否含有某个元素,返回第一个匹配到的元素在数组中所在的位置,如果没有,则返回 -1
  • arr.includes()(ES6新增:)
    数组是否包含某个值,返回true 或 false
  • ES6新增:
  • arr.find() arr.findIndex()
    找出第一个符合条件的数组成员,它参数是一个函数,每一个成员执行这个函数,找到返回true,没找到返回undefined
    函数的参数[当前值 | 当前的位置 | 原数组]
  • for…of…
    遍历数组元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值