小陈学js js数组对象

  • 数组对象

(一)创建数组的三种方式

     1、new Array()

     2、字面量方式

     3、es6方法  IE11不支持

     小陈学js js数组对象

(二)检测是否为数组的两种种方式

     1、instanceof

       小陈学js js数组对象

是数组返回true,不是则返回false。

2、Array.isArray(参数);H5新增的方法  ie9以上版本支持

        小陈学js js数组对象

(三)添加删除数组元素的方法

      1、push(参数1...)末尾添加一个或多个元素,注意修改原数组,并返回新的长度

         小陈学js js数组对象

  1. push可以给数组追加新的元素
  2. Push()参数直接写数组元素就可以了
  3. Push完毕之后,返回的结果是新数组的长度

              小陈学js js数组对象小陈学js js数组对象

  1. 原数组也会发生变化

 

      2、pop()删除数组最后一个元素,把数组长度-1 无参数、修改原数组,返回它删除的元素。

      小陈学js js数组对象小陈学js js数组对象

  1. pop()是可以删除数组的最后一个元素,一次只能删除一个元素
  2. Pop()没有参数
  3. Pop()完毕之后返回的结果是删除的那个元素
  4. 元数组也会发生变化

 

      3、unshift(参数1...)想数组开头添加一个或更多元素,注意修改原数组,并返回新的长度。

     小陈学js js数组对象小陈学js js数组对象

  1. unshift是可以给数组前面追加元素
  2. Unshift()参数值直接写数组的元素就可以了
  3. Unshift完毕后,返回的结果是新数组的长度
  4. 原数组也会发生变化      

 

4、shift()删除数组的第一个元素美术组长度-1无参数、修改原数组,并返回第一个元素的值。

       小陈学js js数组对象小陈学js js数组对象

  1. shift删除数组的第一个元素,一次删除一个
  2. Shift()没有参数
  3. Shift完毕之后,返回的结果是删除的那个元素
  4. 原数组也会发生变化

 

   5、筛选数组案例

      1、有个一个包含工资的数组[1500,1200,2000,2100,1800]要求吧数组中工资超过2000的删除谋生与的放到新数组里面

      小陈学js js数组对象

 

(四)数组排序

1、Reverse()颠倒数组中元素的顺序,无参数,该方法会改变原来的数组 ,返回新数组

小陈学js js数组对象

 

2、sort()对数组的元素进行排序,该方法会改变原来的数组,返回新数组

    小陈学js js数组对象只能给个位数正常排序

    小陈学js js数组对象使用函数,令其实现双位正常排序

(五)数组索引方法

1、indexOf()数组中查找给定元素的第一个索引,如果存在返回索引号,如果不存在,则返回-1(从数组前往后找)

小陈学js js数组对象

(1)如果数组中存在两个相同的元素,只返回第一个满足条件的索引号

(2)如果在该数组里面找不到元素,则返回的是-1

 

  1. lastIndexOf在数组中的最后一个索引,如果存在返回索引号,如果不存在则返回-1(从数组后往前)

小陈学js js数组对象

(1)如果数组中存在两个相同的元素,只返回第一个满足条件的索引号

(2)如果在该数组里面找不到元素,则返回的是-1

4、案例(数组去重)

有一个数组['c',’a’,’z’,’a','x','a','x’,’c’,’b’],要求去除数组中重复的元素

小陈学js js数组对象

小陈学js js数组对象

 

(六)数组转换为字符串

小陈学js js数组对象

  1. toString()将数组转换为字符串

小陈学js js数组对象小陈学js js数组对象

  1. join(分隔符)

小陈学js js数组对象小陈学js js数组对象

 

小陈学js js数组对象

 

  • 字符串对象
  1. 基本包装类型

   基本包装类型:就是把简单数据类型包装称为了复杂数据类型,这样基本数据类型就有了属性和方法。

   小陈学js js数组对象

   解析:小陈学js js数组对象

  1. 字符串的不可变

   字符串的不可变:指的是里面的值不可变,虽然看上去可以改变内容,但其实是地址变了,内存中新开辟了一个内存空间。

   小陈学js js数组对象

  1. 根据字符返回位置

   字符串所有的方法,都不会修改字符串本省(字符串是不可变的)操作弯沉柜返回一个新的字符串。

    小陈学js js数组对象 

例:小陈学js js数组对象,结果:返回下标小陈学js js数组对象

如同一句话出现相同元素,则返回最近的一个

小陈学js js数组对象

小陈学js js数组对象

 

案例:查找字符串 abcoefoxyozzopp中所有o出现的位置以及次数

①核心算法:先查找第一个o出现的位置

②然后只要 indexof返回的结果不是-1就继续往后查找

③因为 index只能查找到第一个,所以后面的查找,利用第二个参数,当前索引加1,从而继续查

小陈学js js数组对象