说起Array的方法,不免让人皱一下眉头,下面我们从增删改查角度依次来总结。
1.增
push: 将传入的参数 ,插入数组的尾部,并返回新数组的长度。不管传入参数为一个值还是一个数组,都作为插入数组的一个元素。
concat: 将传入的参数,插入数组的尾部,并返回新数组,而插入数组不会改变。如果参数为一个数组,将会拆分元素并依次插入。
unshift: 将掺入的参数,插入数组的头部,并返回新数组的长度。不管传入参数为一个值还是一个数组,都作为插入数组的一个元素。
splice: 参考下面
2.删
pop:从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。传入参数,都会删除最后一个元素。
shift: 从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。传入参数number或是里面的元素,都删除第一个元素。
3 改
splice: 通过删除或替换现有元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。 三个参数 (start,deleteCount
,item)
参数 start 表示数组修改的开始的位置,如果start大于数组的长度 则在最末尾修改;如果start为负值 则从数组末尾开始计数;如果start为负数且绝对值大于数组长度,则从数组开始位置修改
参数 deleteCount 表述数组删除的元素个数,如果 deleteCount <= 0 则不删除元素,至少会添加元素;如果deleteCount 忽略 或者 deleteCount > 0 并且大于数组之后的长度,则长度为数组从开始位置到结束的长度
4 查
(1)indexOf: 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。不会改变原数组
(2)some:测试是否至少有一个元素通过由提供的函数实现的测试。不会改变原数组
(3)every:测试数组的所有元素是否都通过了指定函数的测试。不会改变原数组
(4)filter:创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。不会改变原数组
(5)map:创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。循环之前已经定义了数组的范围
(6)foreach:对数组的每个元素执行一次提供的函数。期间数组变化影响循环
(7)keys:返回一个包含数组中每个索引键值的新数组。
(8)values:回一个新的数组,该对象包含数组每个索引的值
(9)includes:来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
5 其他操作
(1)join: join 将一个数组的所有元素连接成一个字符串并返回这个字符串, 原素组不变; split(string的方法) 将字符串分割成数组
(2)sort:对数组的元素进行排序,并返回数组。默认为升序(按照首字母和数字大小),如果需要特殊的排序规则可以通过传人一个sortby方法进行自定义。原数组改变
(3)slice:返回一个新的数组对象,这一对象是一个由 begin
和 end
(不包括end
)决定的原数组的浅拷贝。原始数组不会被改变。
(4)reverse:将数组中元素的位置颠倒,并返回该数组。该方法会改变原数组。
总结
当把数组的方法归完类,就觉得好记了好多,继续加油。