数组方法总结

2019-09-30  本文已影响0人  爱吃爱睡的刘月半

push():

        向数组的末尾添加一个或更多元素

        返回值为添加的元素

pop():

        删除数组的最后一个元素

        返回值为删除的元素

unshift():

        向数组开头添加一个或者多个元素

        返回值为新数组的长度

shift():

        删除数组的第一个元素

        返回值为删除的元素


reverse():

        数组反转,改变原数组

        返回值为反转之后的新数组

sort():

        对数组进行排序,默认排序顺序为按字母升序


concat():

        数组的拼接,如果拼接的元素是数组的话,就把该数组当成一个元素进行拼接,不改变原数组

slice():

        数组的切割,不改变原数组

        不传参数:返回和原数组相同的数组

        一个参数:返回从当前元素开始到结束 的新数组

        两个参数:第一个参数为开始位置,第二个参数为结束位置,不包含结束位置

                            参数可以为负数:-1(倒数第一个元素)

splice():

        从数组中添加或删除元素,改变原数组

        不传参数:返回空数组

        一个参数:返回当前元素到数组末尾的元素组成的数组

        两个参数:第一个参数代表开始元素,第二个参数代表删除的个数,返回值为删除元素组成的新数组

        三个或三个以上参数:第一个参数代表开始元素,第二个参数代表删除个数,第三个到多个的参数代表插入到原数组的元素,返回值为删除元素组成的新数组,如果没有删除元素,则返回空数组

indexOf():

        查找数组元素,按照全等操作符进行的匹配

        一个参数:想要查找的元素,找到返回当前元素所在的下标,查找不到元素返回-1,如果有多个匹配元素,返回第一个匹配元素下标

        两个参数: 第一个代表想要查找的元素 ,第二个代表从哪开始,返回匹配元素所在的下标

lastIndexOf():

        从后往前查找元素,返回匹配元素的下标

copyWithin():

        用于从数组的指定位置拷贝元素到数组的另一个指定位置中

        三个参数:

        第一个参数:必需值,复制到指定目标索引的位置

        第二个参数:可选值,元素复制的起始位置

        第三个参数:可选值,停止复制的结束位置,默认值为arr.length,如果值为负数,则表示倒数

fill():

        使用一个固定值来填充数组

        三个参数:

        第一个参数:必需值,填充的值

        第二个参数:可选值,开始填充的位置

        第三个参数:可选值,停止填充位置(array.length)

from():

        通过拥有 length 属性的对象或可迭代的对象来返回一个数组

includes():

        用来检验一个数组中是否含有一个指定的值,有返回true,没有返回false

        两个参数:

        第一个参数:(searchElement)必需值,需要查找的元素值

        第二个参数:(fromIndex)可选值,从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0

join():

        用于把数组中的所有元素转换成一个字符串

        一个参数:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符


迭代方法

forEach():

        没有返回值    undefined

        每一个Array实例都能调用的方法

        两个参数:第一个参数为循环执行的回调函数,第二个参数为赋值给回调函数的this值,回调函数的参数为(item,index,arr)

every():

        返回值为boolean,遍历数组,当所有元素满足条件时,返回true,反之返回false

        两个参数:第一个参数为循环执行的回调函数,第二个参数为赋值给回调函数的this值,回调函数的参数为(item,index,arr)

some():

        返回值为bolean,遍历数组,当前元素有满足条件时返回true,当全部元素都不满足条件时返回false

filter():

        返回值为满足条件的元素组成的新数组

map():

        通过指定函数处理数组的每个元素,并返回处理后的数组,不会改变原数组。

entries(): 

        返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。

find():

        返回通过测试(函数内判断)的数组的第一个元素的值

        用法和every类似,只是eveny返回值是true或false,find返回值为符合条件的第一个元素,当有元素符合条件时,函数将不往下循环;当元素都不符合条件时,返回undefined

findIndex():

        规则和find()一样,区别为find()返回值为符合条件的元素,findIndex()返回值为符合条件的元素的索引

reduce():

        将数组元素计算成一个值

        两个参数:function(total, currentValue, currentIndex, arr){}

                           total:必需值,初始值,或者是计算结束后的返回值

                          currentValue:必需值,i当前元素item

                          currentIndex:可选值,当前元素的索引 index

                        arr:可选值,当前元素所属的数组对象

                                initialValue:可选值,传递给函数的初始值

        使用案例:

                            var arr = [1, 3, 4, 5, 67, 8, 7, 6, 43, 2];

                            var newarr = arr.reduce(function(pre, item, index, arr) {

                                    var begin = index * 5;

                                    var end = begin + 5;

                                    var result = arr.slice(begin, end);

                                    if (result.length) {

                                            pre.push(result);

                                    }

                                    return pre;

                            }, []);

                           console.log(newarr)

上一篇下一篇

猜你喜欢

热点阅读