热门关键字:
jquery > jquery教程 > jquery教程 > jquery数组元素个数

jquery数组元素个数

359
作者:管理员
发布时间:2021/5/24 18:43:24
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4783
  首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示:


  1.认识数组


  数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象


  Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能


  1.1 定义数组


  声明有10个元素的数组


  var a=new Array(10);


  此时为a已经开辟了内存空间,包含10个元素,用数组名称加 [下标] 来调用,例如 a[2] 但此时元素并未初始化,调用将返回 undefined


  以下代码定义了个可变数组,并进行赋值


  var a=new Array();


  a[0]=10;


  a[1]="aaa";


  a[2]=12.6;


  上面提过了,数组里面可以放对象,例如下面代码


  var a=new Array();


  a[0]=true;


  a[1]=document.getElementByIdx_x("text");


  a[2]={x:11, y:22};


  a[3]=new Array();


  数组可以实例化的时候直接赋值,例如


  var a=new Array(1, 2, 3, 4, 5);


  var b=[1, 2, 3, 4, 5];


  a 和 b 都是数组,只不过b用了隐性声明,创建了另一个实例,此时如果用alert(a==b)将弹出false


  1.2 多维数组


  其实Javascript是不支持多维数组的,在asp里面可以用 dim a(10,3)来定义多维数组,在Javascript里面,如果用 var a=new Array(10,3) 将报错


  但是之前说过,数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组,例如


  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]];


  效果一样,a采用常规实例化,b是隐性声明,结果都是生成一个多维数组


  1.3 Array literals


  这个还真不知中文怎么叫,文字数组?


  说到数组,不得不说到Array Literals,数组其实是特殊的对象,对象有特有属性和方法,通过 对象名.属性 、对象.方法() 来取值和调用,而数组是通过下标来取值,Array Literals跟数组有很多相似,都是某数据类型的集合,但是Array Literals从根本来说,是个对象,声明和调用,跟数组是有区别


  var aa=new Object();


  aa.x="cat";


  aa.y="sunny";


  alert(aa.x);  //弹出cat


  创建一个简单的对象,一般调用是通过aa.x,而如果当成Array literals的话,用alert(aa[“x”])一样会弹出cat


  var a={x:"cat",  y:"sunny"};


  alert(a["y"]); //弹出sunny


  这是另一种创建对象的方法,结果是一样的


  2.数组元素的操作


  上面已经说过,可以通过 数组[下标] 来读写元素


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


  var b=new Array();


  b[2.2]="XXXXX";


  alert(b[2.2]); //-> XXXXX


  此时相当于b[“2.2”]=“XXXXX”


  2.1数组的循环


  var a=[1,2,3,4,5,6];


  for(var i=0; i


  alert(a[i]);


  }


  这是最常用的,历遍数组,代码将依次弹出1至6


  还有一种常用的


  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”]


  2.2数组常用函数


  concat


  在现有数组后面追加数组,并返回新数组,不影响现有数组


  var a=[123];


  var b="sunnycat";


  var c=[""ido"];


  var d={x:3.14, y:"SK"};


  var e=[1,2,3,4,[5,6,[7,8]]];


  alert(a.concat(b));   // -> 123,sunnycat


  alert(a); //  -> 123


  alert(b.concat(c, d));    // -> sunnycat  Object]


  alert(c.concat(b));   // ->


  alert(e.concat(11,22,33).join(" #  "));    // -> 1 # 2 # 3  # 4 # 5,6,7,8 # 11 # 22 # 33


  需要注意的是只能用于数组或字符串,如果被连接(前面的a)的是数值、布尔值、对象,就会报错,字符串连接数组时,字符串会跟数组首元素拼接成新元素,而数组连接字符串则会追加新元素(这点我也不清楚原委,知情者请透露),对于数组里面包含数组、对象的,连接后保持原样


  join




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐