JavaScript基础-数组相关总结

177 阅读2分钟

数组是一种特殊的对象,js中并没有真正的数组,只是用对象模拟数组。

    典型数组和js数组的区别

             典型数组

                 元素的数据类型相同

                 使用连续的内存存储

                 通过数字线标获取元素

            js数组

                元素的数据类型可以不同

                内存不一定是连续的(对象是随机存储的)

                不能通过数组下标访问, 而是通过字符串下标访问

    js中数组方法及分类

          一 操作使原数组改变

             1.增

                  unshift 像数组的首位正价若干元素,返回新数组的长度

                  push 像数组的末尾增加若干个元素,返回新的长度

             2.删

                 shift 删除并返回数组第一个元素

                 pop 删除并返回最后一个元素

            3.改

                splice 删除数组中的元素,并添加新的元素

            4.其它

                sort 对数组元素进行排序。

                reverse 反转数组中元素的顺序

        二 操作原数组不变

           1.转字符串

               toString() 将数组转化为字符,相当于不传参的join

               join 用指定分隔符将数组化为字符,若不传参数,默认为逗号。

           2.遍历

              forEach() 遍历数组:内部接收callback,callback 有三个参数,分别为元素,索引,

                自身,没有返回值

              map() 遍历并修改,基本等同于 forEach,可以有发回执

              filter() 遍历筛选,返回函数内写判断条件,返回符合条件的值的数组成的数组。

              every() 遍历并判断,每一项都符合条件返回true,有一项为false时停止,返回 false

              some() 遍历并判断(与every),只要一项条件符合就返回true,每一项都不符合

                      返回false

              reduce() 归并,从数组的第一项开始,逐个遍历到最后,迭代数组的所有项,

                 然后构建一个最终的返回值。

         3.其它

            slice(m,n) 从m开始截取n位元素,当n省略或n=0时,选取元素字节到最后一位

            indexOf() 从左到右查询在数组中的位置,返回索引,若没有查到返回-1

            lastIndexOf() 从右像左查询值在数组中的位置(与indexOf顺序相反),返回索引,

              若没有查到返回-1