美文网首页
数组方法总结

数组方法总结

作者: 爱吃爱睡的刘月半 | 来源:发表于2019-09-30 09:00 被阅读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)

    相关文章

      网友评论

          本文标题:数组方法总结

          本文链接:https://www.haomeiwen.com/subject/ldoiyctx.html