一, 数组的定义
  数组是类似于列表的高阶对象,是一组数据的集合,可以存储在单个变量下的优雅方式. javascript的内置对象Array是用于构造数组的全局对象,
  1. 创建数组
    //原理: 数组是一种类列表对象,他的原型提供了遍历和修改元素的操作.JavaScript数组的长度和元素的类型都是非固定的.因为其长度可以随时改变,并且其数据在内存中也可以不连续,所有JavaScript                  数组不一定是密集型的,这取决于它的使用方式.如果这些特性不适合特定的应用场景,可以使用TypeArray,通过索引访问数组元素时,索引只能是整数,而不能用字符串.使用非整数并通过方括号或点号                 来访问或设置数组时,所操作的并不是数组列表中的元素,而是数组对象属性集合上的变量.数组对象的属性和数组元素列表是分开存储的,而且数组的遍历和修改操作也不能作用于这些命名属性.

    (1)利用new关键字创建(Array构造器)

    

javascript数组结合 javascript 数组_数组

 

       结果:

    

javascript数组结合 javascript 数组_字符串_02

      //Array构造器的属性:
        Array.length: 值为1,该属性为静态属性,不是数组实例的length属性
        Array.prototype: 原型属性,通过该属性可以为所有数组实例对象添加属性(方法).实现继承
      //Array构造器的方法属性:
        Array.from(): 从类数组对象或者可迭代对象中创建一个新的数组实例
        Array.isArray(): 用以判断整个变量是否为一个数组对象
        Array.of(): 根据一组参数来创建新的数组实例,支持任意的参数数量和类型
    (2)利用数组字面量创建

      

javascript数组结合 javascript 数组_数组_03

 

       结果:

        

javascript数组结合 javascript 数组_数组_04

(3)es6新增创建方法

  •   from()

    <1>将标准类数组转换为数组

      

javascript数组结合 javascript 数组_字符串_05

    <2>将字符串转换为数组

      

javascript数组结合 javascript 数组_数组元素_06

    <3>from()返回的是一个真正的数组

      

javascript数组结合 javascript 数组_字符串_07

    <4>类数组的属性名必须是数值型或字符串型的数字,否则返回值全为undefined的数组

      

javascript数组结合 javascript 数组_数组元素_08

    <5>类数组要想成功转换为数组,必须有length属性,否则返回空数组

      

javascript数组结合 javascript 数组_数组元素_09

    <6>转换Set()对象为数组

      

javascript数组结合 javascript 数组_数组元素_10

    //Set()可以去重

      

javascript数组结合 javascript 数组_数组_11

    <7>from转换Set对象,加第二个参数相当于map()方法,对每个值进行处理,最后返回新的值

      

javascript数组结合 javascript 数组_数组_12

  •   of()

    //转换所有参数为数组

      

javascript数组结合 javascript 数组_数组_13

  2. 添加数组中元素
    (1)修改length长度新增数组元素--->实现数组扩容的目的

      

javascript数组结合 javascript 数组_字符串_14

    (2)修改数组的索引号--->追加数组元素

      

javascript数组结合 javascript 数组_数组_15

二, javascript数组的属性
  1. length属性
    (1)数组的项数保存在数组的length属性中,这个属性始终会返回0或者更大的值
    (2)数组最后一项的索引始终是length-1
    (3)数组的length属性不是只读的
    (4)如果length属性设置大于数组项数的值,其他新增的每一项都是undefined
    (5)可利用length属性在数组末尾添加新项
    (6)当一个值放在超出当前数组大小位置时,数组会重新计算其长度
三, 获取数组中的某个元素
  通过索引号--->获得元素

      

javascript数组结合 javascript 数组_数组_16

  

四, 数组的内置方法
  1. 数组的判断

    .isArray() --->

      

javascript数组结合 javascript 数组_数组元素_17

    instanceof

      

javascript数组结合 javascript 数组_数组元素_18

    .prototype.call()

      

javascript数组结合 javascript 数组_数组_19

    .prototype.isPrototypeOf()

      

javascript数组结合 javascript 数组_字符串_20

  2. 数组转化为字符串
    .toString()---> 转换为字符串

      

javascript数组结合 javascript 数组_数组元素_21

    .join ("")--->以参数为连接符连接(c传参:把数组中的每个元素toString()然后拼接)

      

javascript数组结合 javascript 数组_字符串_22

  3. 常用方法
    .concat ()--->连接多个数组进同一个数组

      

javascript数组结合 javascript 数组_字符串_23

 

         

javascript数组结合 javascript 数组_字符串_24

    .pop()---> 删除末尾的元素,并返回该元素(为空的 情况,返回undefined)
    .push()---> 末尾添加元素,返回数组长度(或多个,按照传入的顺序)
    .shift()---> 删除第一个
    .unshift() --->添加数组的第一个

    delete

      

javascript数组结合 javascript 数组_数组_25

    .splice(起始位,删除元素个数,插入1,插入2) --->可删除,可添加

      

javascript数组结合 javascript 数组_字符串_26

 

         

javascript数组结合 javascript 数组_数组_27

    .slice()--->剪裁数组

      

javascript数组结合 javascript 数组_数组元素_28

    .reverse() --->反向(改变原数组)

      

javascript数组结合 javascript 数组_数组_29

    .sort() --->如果没有传参,直接排序,默认是按照字符的编码进行排序

      //如果想要从小到大或者从大到小进行排序

      例:

     

var tempArr = arr.sort(function (a, b){
        return b - a;//从大到小
        //return a-b;//从小到大
       });
      console.log(tempArr);


    .indexOf()--->判断一个元素是否在数组中,并且获得该元素在数组中的索引号,从前往后.返回值为-1则证明无这个元素
    .lastindexOf()--->判断一个元素是否在数组中,并且获得该元素在数组中的索引号,从后往前.返回值为-1则证明无这个元素
    .valueOf() --->返回数组的原始值([1,2,3])

      

javascript数组结合 javascript 数组_字符串_30

    //所有数组的方法,返回了一个新数组,数组的元素
五, 数组的遍历 (详情请见遍历器篇)
    .forEach() --->
    .map() --->
    .filter() --->
    .every() --->
    .some() --->