首先,在开始前我们先了解一下什么是数组。

1、什么是数组?

  数组就是一组数据的集合,其表现形式就是内存中的一段连续的内存地址,数组名称其实就是连续内存地址的首地址。说白了它就是将一堆数据按照一定的顺序将他们连续存放在一个空间中。

2、数组的特点

  数组定义时无需指定数据类型,数组定义时可以无需指定数组长度,数组可以存储不同数据类型的数据(String,Number等等)

3、创建数组的语法

  var arr=[值1,值2,值3];                       //隐式创建

  var arr=new Array(值1,值2,值3);      //直接实例化一个数组

  var array=new Array(size);              //创建数组并指定长度

 //方法一:隐式创建
var arr = [1,2,3];
document.write(arr[2]+"<br />");
 //方法二:实例化数组
var arr2 = new Array(2,4,6,8,10);
document.write(arr2[3] + '<br>');
 //方法三:创建数组并指定长度
var arr3 = new Array(3);//固定数组长度为3
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;
document.write(arr3[2] + '<br>');

4、数组的长度(length)

  Array.length

  在javascript中,每个数组都可用调用length属性,它用来表示数组的长度。

 var arr = [1,2,3];
//这里的arr[2]表示,在arr数组中寻找下标为2的值,输出3,因为下标从0开始
document.write(arr[2]+"<br />");

5、数组中的文本下标

  语法:

 var arr = [1,2,3];
arr['hxw']='侯晓伟';
arr['chr']='程海睿';
document.write(arr.length+"<br />"); //这里输出的结果会是3,而不5
document.write(arr.hxw +"<br/>")   //通过arr.它的属性来获取它的值
document.write(arr.chr +"<br/>")

  注意:这里文本下标的值并不计算在数组的长度以内。

6、Array对象的方法

  (1)、concat():连接两个或更多的数组,并返回结果。简单来说,就是将多个数组的元素相连接在一起,该方法不会改变现有的数组,只是返回一被连接数组的一个副本。

       /*数组合并方法一:将两个或多个数组合并*/
var arr = new Array();
arr[0] = "胖子"
arr[1] = "静静"
arr[2] = "晓伟"
arr[3] = "邢坤" var arr2 = new Array();
arr2[0] = "晓楠"
arr2[1] = "晓龙"
arr2[2] = "萍"
arr2[3] = "王晔" document.write(arr.concat(arr2));
        //数组合并方法二:将新元素合并在原有的数组中
var i = [1,2,3,4,5,6]
document.write(i.concat(99,88)+"<br />");

  

  (2)、join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

       //将数组中的值转换成字符串
       var arr = new Array(3)
       arr[0] = "George"
       arr[1] = "John"
       arr[2] = "Thomas"
       document.write(arr.join())
      //使用.分隔符分隔数组中的元素
      var arr = new Array(3)
      arr[0] = "George"
      arr[1] = "John"
      arr[2] = "Thomas"       document.write(arr.join("."))

  (3)、pop():删除并返回数组的最后一个元素。删除数组的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

       /*删除数组末尾参数方法  pop()*/
document.write("pop()删除数组末尾参数,数组长度减1"+"<br />")
var i = [1,2,3,4,5,1231]
document.write(i.length+"<br />"); //此时数组长度为6
document.write(i.pop()+"<br />"); //删除并显示数组末尾的值,同时数组长度减1
document.write(i.length+"<br /><br /><br />")//此时数组长度为5

  (4)、push():向数组的末尾添加一个或更多元素,并返回新的长度。

      //通过push()方法向末尾添加一条数据,数组长度加1
document.write("push()向末尾添加一条数据,数组长度加1"+"<br />")
var i = [1,2,3,4,5,1231]
document.write(i.length+"<br />");
document.write(i.push(12,31)+"<br />"); //向末尾添加一个元素,不显示添加的值,但返回数组长度
document.write(i+"<br /><br /><br />");

  (5)、reverse():颠倒数组中元素的顺序。

       //reverse()方法用来将数组中的值反向输出
document.write("reverse()反向输出数组值")
var i = [1,2,3,4,5,1231]
document.write(i.reverse()+"<br /><br /><br />");

  (6)、shift:删除并返回数组的第一个元素。如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。

       /*shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。它会改变数组长度*/
document.write("shift()方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。"+"<br />");
var i = [1,2,3,4,5,1231]
document.write(i.shift()+"<br /><br /><br />");

  (7)、slice():从某个已有的数组返回选定的元素,该方法并不会修改数组,而是返回一个子数组。下面做一个小例子:

        /*slice方法
* slice(start,end) start规定从何处开始,end表示何处结束,但是不包括end该元素
* 用来在已知的数组中返回选中的元素,该方法不会改变原有的数组,而是返回一个子数组,
* 同时可以写入负值,从末尾取值
* */
var i = [1,2,3,4,5,1231]
document.write(i.slice(2,4)+"<br /><br /><br />"); //返回结果为3,4

  (8)、sort():对数组的元素进行排序。

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

       var i = [11,1,311,4,5]
var j = ["e","g","q","a","b","d"]
function sortNumber(a,b){
return a-b;
}
document.write(j.sort()+"<br />"); //默认按照字符串的ASCIII码表排序
document.write(i.sort(sortNumber)+"<br /><br /><br />"); //数值型比较大小需要给它写一个排序函数,

  (9)、splice():删除元素,并向数组添加新元素。向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。下面我们做一个小例子:

         var i = [11,1,311,4,5];
document.write(i+"<br />"); //显示i中的所有元素
document.write(i.splice(0,3)+"<br />"); //此时显示它已经删除的元素
document.write(i+"<br /><br /><br /><br />"); //显示它删除后i中所剩的元素

  (10)、toSource():返回该对象的源代码。只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。

      function employee(name,job,born){
        this.name=name;
        this.job=job;
        this.born=born;
      }
      var bill=new employee("Bill Gates","Engineer",1985);       document.write(bill.toSource());

  (11)、toString() :方法可把数组转换为字符串,并返回结果。返回值与没有参数的 join() 方法返回的字符串相同。

      var arr = new Array(3)
      arr[0] = "比克大魔王"
      arr[1] = "克林"
      arr[2] = "沙鲁"       document.write(arr.toString())

  

  (12)、toLocaleString():把数组转换为本地字符串。

      var arr = new Array(3)
      arr[0] = "比克大魔王"
      arr[1] = "克林"
      arr[2] = "沙鲁"       document.write(arr.toString())

  (13)、unshift():向数组的开头添加一个或更多元素,并返回新的长度。unshift() 方法将把它的参数插入数组的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。

     下面我们做一个小例子:

      var arr = new Array()
      arr[0] = "比克大魔王"
      arr[1] = "孙悟饭"
      arr[2] = "沙鲁"       document.write(arr + "<br />")
      //在这里使用unshift()方法添加一个新的英雄布玛
      document.write(arr.unshift("布玛") + "<br />")
      document.write(arr)

  (14)、valueOf:返回数组对象的原始值。该原始值由 Array 对象派生的所有对象继承。valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。

      

      以上就是个人在数组中的总结,希望对大家有帮助~

JS中数组的常用方法的更多相关文章

  1. JavaScript中数组操作常用方法

    JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...

  2. js中数组去重的几种方法

    js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                 ...

  3. JavaScript -- 时光流逝(二):js中数组的方法

    JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...

  4. php和js中数组的总结

      php中数组的表示方法:array()或者[] js中数组的表示方法:new array()或者[] 一.php中初始化命名数组 在PHP中声明数组的方式主要有两种:一是应用array()函数声明 ...

  5. JS中数组的介绍

    一.数组: 一组数据的集合: 二.JS中数组的特点: 1.数组定义时无需指定数据类型: 2.数组定义时可以无需指定数组长度: 3.数组可以存储任何类型的数据: 4.一般是相同的数据类型: 三.数组的创 ...

  6. js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join

    js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join

  7. js中数组如何使用

    js中数组如何使用 一.总结 一句话总结:new Array()和[]两种方法都可以创建数组. 二.js中创建数组,并往数组里添加元素 数组的创建 var arrayObj = new Array() ...

  8. js中数组方法大全

    js数组方法大全 一:前言 我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...

  9. js中数组去重方法及性能对比

    js中数组的 数组去重 常用的数组去重方法以及效率分析: 首先我们先构建一个数组,主要是用于进行去重实验,我们主要实验的量级为1000,10000,100000,500000.具体的生成数组的方法如下 ...

随机推荐

  1. linux环境下安装jdk

    1.查看系统自带的jdk #RPM -qa|grep jdk 若存在则删除 jdk-1.7.0_67-fcs.x86_64 #rpm -e --nodeps jdk-1.7.0_67-fcs.x86_ ...

  2. Android wifi状态三种广播

    public class NetworkConnectChangedReceiver extends BroadcastReceiver{      @Override      public voi ...

  3. Java Web架构知识整理——记一次阿里面试经历

    惭愧,从一次电面说起.我个人在某国企做一名软件设计师,国企大家都懂的,待遇一般而且没啥意思,做的方向基本都是操作系统.驱动和工具软件的开发,语言基本都是C/C++.最近也想跳槽,刚好有幸得到了一次阿里 ...

  4. Jenkins+maven+git+sonar 系统持续集成&amp;代码单測管理

    Jenkins+maven+git+sonar 系统持续集成&代码单測管理 Jenkins的安装 Jenkins是基于Java开发的一种持续集成工具,用于监控持续反复的工作.功能包含: 1.持 ...

  5. python学习笔记之paramiko和sqlalchemy (第九天)

    参考银角大王 :http://www.cnblogs.com/wupeiqi/articles/5095821.html http://www.cnblogs.com/wupeiqi/articles ...

  6. flask 中的request

    request.args                    从URL地址中的参数request.form                   POST请求时 从FormData中获取参数reque ...

  7. shell 判断字符串是否为空

    #!/bin/bash a="" if [ -n "$a" ] then echo "-n $a : 字符串长度不为 0" else ech ...

  8. [As3.0] 获取本机信息

    package { import flash.display.Sprite; import flash.events.Event; import flash.net.NetworkInfo; impo ...

  9. SSH整合报错:Unable to instantiate Action, testAction, defined for 'test' in namespace '/'testAction

    报错如下: Struts Problem Report Struts has detected an unhandled exception: Messages: testAction Unable ...

  10. web pack

    WebPack是模块捆绑器,如果你的代码跨越了不同模块(例如不同Javascript文件),web pack可以将这些零散的代码构建到浏览器可读单个文件中. web pack还可以作为构建通道,你可以 ...