js 数组

1.

> js 数组的每一项可以保存任何类型的数据;

>数组的length属性不是只读的,通过设置这个属性,可以从数组的末尾移除项或向数组中添加新项; 

2. 检测数组

  > typeof arr     输出 object       typeof不能检测出是不是数组,它只能检测出是引用类型

  > arr instanceof Array      输出 true         instanceof 使用的前提条件是:假定全局只有一个执行坏境,如果有多套框架它们具有各自的不同构造函数就判断不出来

  > Array.isArray(arr)  输出true      Array.isArray 没啥毛病,就是不支持IE8

3. 转换方法

  > toString()  调用每一项的toString(),然后逗号分隔

  > toLocalString()  调用每一项的toLocalString(),然后逗号分隔

  > valueOf()  返回数组本身

  >join(连接字符)  如果不给join方法传入任何值或者传入undefined则使用逗号作为分隔符

  

  如果数组中某一项的值是null或者undefined,那么该值在转换方法中以空字符串表示

4. 常用方法

  >栈:push() <=>pop()        push()接受任意数量参数,并逐个添加到末尾; pop()从数组末尾移除最后一项并返回该项

  >队列:push() <=>shift()   shfit()移除数组中的第一项并返回该项

                  unshift()在数组前端添加任意个项并返回新数组的长度

  >重排序: reverse() 反转数组项的顺序

       sort() 按升序排列数组,调用每一个数组项的toString()方法,然后比较得到的字符串确定如何排序;sort()函数接收一个比较函数作为参数

  >操作方法:concat()  先创建当前数组的一个副本,然后将接受到的参数添加到这个副本末尾

         slice() 基于当前数组中的一个或者多个项创建一个新数组(不会对当前数组造成影响),接受两个参数【返回项的起始位置,结束位置)。如果传入的参数是负数,则用数组长度加上该数来确定相应的位置

         splice() 主要用途是向数组的中部插入项  1)删除  splice(要删除的第一项位置,删除的项数)

                           2)插入 splice(起始位置,要删除的项数0,要插入的任意数量项)

                           3)替换 splice(起始位置,要删除的项数 不为0,要插入的任意数量项)

  >位置方法:indexOf(要查找的项【,查找起点位置索引】)     从前往后找

        lastIndexOf(要查找的项【,查找起点位置索引】)     从后往前找

  >迭代方法:都接受一个函数作为参数,对数组中的每一项运行参数函数  function(item, index, array)

         every()  如果该函数每一项都返回true,则返回true

         some()  如果该函数对任意一项返回true,则返回true

         filter()    返回该函数会返回true的项组成的数组

         forEach()  没有返回值

         map()  返回函数每次调用的结果组成的数组

  >归并方法:reduce()从前往后遍历, reduceRight()从后往前遍历     迭代数组的所有项,然后构建一个最终返回的值  

         接受两个参数(每一项上调用的函数function(prev, cur, index, array)【,作为归并基础的初始值】)  

 

补充:jQuery中常用的数组方法

  $.each(arr, function(index, item){})    参数函数返回true相当于continue, 返回false相当于break  

  $.grep( array, function(item, index) [, invert ] )   过滤。 invert参数默认为false返回所有结果为ture的数组项, invert为true的时候返回返回所有结果为false的数组项

  $.inArray(value, array)  判断value是否在数组中,存在返回下标,不存在返回-1    

  $.merge()  合并数组

  $.makeArray()  转换数组

 

        

posted @ 2020-11-26 21:43  碗粥  阅读(69)  评论(0编辑  收藏  举报