一、创建数组的方式:

1.定义并赋值

var str = ['java', 'php', 'c++', 'c#', 'perl', 'vb', 'html', 'css'];

2.用{}定义后赋值:

var array = {};//定义一个数组
   array[0] = "Tom";
   array[1] = "Male";
   array[2] = "123456@qq.com";

  数组的下标也可以这样:

array['name'] = "Tom";
   array['sex'] = "Male";
   array['mail'] = "123456@qq.com";

3.使用new Array()定义:

(1).

var a = new Array(10);
     定义长度为10的数组,此时为a已经开辟了内存空间,用数组名称加 [下标] 来调用。

(2).

var a = new Array();
     a[0] = 10;
     a[1] = "Tom";
     a[2] = 12.6;

定义一个可变数组,并进行赋值。数组的赋值还可以使用push()方法,这样可以避免使用下标的麻烦:

a.push(10);

a.push("Tom");

a.push(12.6);

 (3).

var a = new Array(1, 2, 3, 4, 5);
     var b = [1, 2, 3, 4, 5];
    a 和 b 都是数组,只不过b用了隐性声明,创建了另一个实例,此时如果用alert(a==b)将弹出false。

(4).

数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象。
Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能。

数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组,例如
     var a = new Array();
     a[0] = new Array();
     a[0][0] = 1;
     alert(a[0][0]); //弹出 1

声明的时候赋值
     var a = new Array([1,2,3], [4,5,6], [7,8,9]);
     var b = [[1,2,3], [4,5,6], [7,8,9]];

二、数组的操作:

1.通过数组[下标]来读写数组的元素:

如:a[0] = 10;
        a[1] = "Tom";
        a[2] = 12.6;

下标的范围是 0 – (23(上标2) -1),当下标是负数、浮点甚至布尔值的时候,数组会自动转换为对象类型。

如:
   var b = new Array();
   b[2.2]  = "XXXXX";
   alert(b[2.2]); //-> XXXXX

 2.通过push(),pop()方法读写元素:

(1).push

往数组后面添加数组,并返回数组新长度
    var a =    ["aa","bb","cc"];
    document.write(a.push("dd"));    // -> 4

(2).pop

删除数组最后一个元素,并返回该元素
     var a =    ["aa","bb","cc"];
     document.write(a.pop());    // -> cc

  3.数组的循环:

(1).for循环:

var a = [1,2,3,4,5,6];
     for(var i =0; i<a.length; i++){
          alert(a[i]);
     }

(2).foreach循环:

var a = [1,2,3,4,5,6];
      for(var e in a){
          alert(e);
       }
   还是依次弹出1至6,for…in是历遍对象(数组是特殊的对象)对象,用在数组上,因为数组没有属性名,所以直接输出值,这结构语句用在对象上,例如下面
     var a = {x:1,y:2,z:3};
     for(var e in a){
       alert(e    + ":" + a[e]);
     }

此时e取到的是属性名,即 x、y、x,而要取得值,则采用 数组名[属性],所以 a[e] 等同于 a[“x”]、a[“y”]、a[“z”]。

 4.将数组转换为字符串:

(1).join("分隔符")

用指定间隔符连起来,把数组转为字符串
     例:
       var a = ['a','b','c','d','e','f','g'];
       alert(a.join(",")); // -> a,b,c,d,e,f,g
    需要注意的是只转换一维数组里面,如果数组里面还有数组,将不是采用join指定的字符串接,而是采用默认的toString()。

(2).toString()

把数组转为字符串,不只数组,所有对象均可使用该方法
    var a = [5,6,7,8,9,["A","BB"],100];
    document.write(a.toString());    // -> 5,6,7,8,9,A,BB,100

(3)valueOf
    根据不同对象返回不同原始值,用于输出的话跟toString()差不多,但是toString()是返回string类型,而valueOf()是返回原对象类型。
    var a = [1,2,3,[4,5,6,[7,8,9]]];
   document.write(a.valueOf());    // -> 1,2,3,4,5,6,7,8,9

 5.使用slice返回数组片段 

var a = ['a','b','c','d','e','f','g'];
    alert(a.slice(1,2)); // -> b
    alert(a.slice(2));    // -> c,d,e,f,g
    alert(a.slice(-4));   // -> d,e,f,g
    alert(a.slice(-2,-6));    // -> 空

a.slice(1,2),从下标为1开始,到下标为2之间的数,注意并不包括下标为2的元素
    如果只有一个参数,则默认到数组最后。
   -4是表示倒数第4个元素,所以返回倒数的四个元素。
  alert(a.slice(-2,-6))从倒数第2开始,因为是往后截取,所以显然取不到前面的元素,所以返回空数组,如果改成 a.slice(-6,-2) 则返回b,c,d,e。

JQuery中数组的创建与使用的更多相关文章

  1. Java中数组的创建

    Java中数组的使用 1.普通数组变量的定义: //数组 //1.数组是Java中很重要的一部分,今天对数组进行了大致的了解,Java中的数组和C中数组还是有一定的区别的 //以下是总结的几种方法 p ...

  2. JS中数组的创建方法

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. javascript 中数组的创建 添加 与将数组转换成字符串 页面三种提交请求的方式

    创建js数组 var array=new Array(); Java中创建数组 private String[] array=new String[3]; 两个完全不同的,js中是可变长度的 添加内容 ...

  4. Jquery中数组转字符串,c:foreach自动将带","字符串进行拆分赋值

    1.数组转字符串,逗号分割 a.push()将元素依次添加至数组: b.join()将数组转换成字符串,里面可以带参数分隔符,默认[,] <script type = text/javascri ...

  5. jquery中数组对象下面的属性名名是动态的如何获取

    <script> let normalListData = []; function temp() { for (var i = 0; i < 10; i++) { let rowC ...

  6. 第三章 jQuery中的事件与动画

    第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.wind ...

  7. JQuery制作网页—— 第七章 jQuery中的事件与动画

    1. jQuery中的事件: ●和WinForm一样,在网页中的交互也是需要事件来实现的,例如tab切换效果,可以通过鼠标单击事件来实现 ●jQuery事件是对JavaScript事件的封装,常用事件 ...

  8. jQuery中事件与动画

    jQuery中的事件与动画   一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.windo ...

  9. jQuery中的事件与动画 笔记整理

    一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.window事件.表单事件.事件的绑定和处 ...

随机推荐

  1. Chrome F12 温故而知新 :因为重定向导致清空Network信息

    虽然我以前都是用Fiddler 4来作为解决方案.但实际上可以勾选 [Preserve log]来保存日志 这样就不担心因为页面重定向导致清空了日志了

  2. C#-MVC开发微信应用(7)--在管理系统中同步微信用户分组信息

    在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码.希望从一个更高的层次介绍微信的开发. 在 ...

  3. Atitit  验证 数字验证 非空验证的最佳算法  h5

    Atitit  验证 数字验证 非空验证的最佳算法  h5 <td><select class="searchBox-select"   style=" ...

  4. [k8s]kube-dns/dashboard排错历险记(含sa加载用法/集群搭建)

    kube-dns原理 参考: 组件架构看这个就够了 http://cizixs.com/2017/04/11/kubernetes-intro-kube-dns 设置细节看这个就够了 http://b ...

  5. python + django + dwebsocket 实现简单的聊天室

    使用库dwebsocket,具体参考此处 views.py: from dwebsocket.decorators import accept_websocket,require_websocket ...

  6. curl 伪装来路(referer)

    curl -e http://vip.hihi.com http://test.image.ok.com/parcel/201704/1491035345125_971038.jpg 1xx.8x.3 ...

  7. lua -- 所有UI组件的基类

    -- 组件行为基础 local Behavior = class("Behavior"); function Behavior:ctor(name) self.owner = ni ...

  8. 用HTML5+JS开发跨平台的桌面应用

    通过Node.js和WebKit技术的融合,开发者可以用HTML5技术编写UI,同时又能利用Node.js平台上众多library访问本地OS的能力,最终达到用Web技术就可以编写桌面应用的目的. 选 ...

  9. form表单下的button按钮会自动提交表单的问题

    form表单下的button按钮会自动提交表单的问题 2017年01月05日 18:02:44 蓝色水 阅读数:18012更多 个人分类: asp.net   form表单下的按钮在没有指定type类 ...

  10. 性能优化系列八:MYSQL的配置优化

    一.关键配置 1. 配置文件的位置 MySQL配置文件 /etc/my.cnf 或者 /etc/my.cnf.d/server.cnf 几个关键的文件:.pid文件,记录了进程id.sock文件,是内 ...