JavaScript之数组Array详解.docx

上传人:b****3 文档编号:1847480 上传时间:2022-10-24 格式:DOCX 页数:9 大小:21.99KB
下载 相关 举报
JavaScript之数组Array详解.docx_第1页
第1页 / 共9页
JavaScript之数组Array详解.docx_第2页
第2页 / 共9页
JavaScript之数组Array详解.docx_第3页
第3页 / 共9页
JavaScript之数组Array详解.docx_第4页
第4页 / 共9页
JavaScript之数组Array详解.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

JavaScript之数组Array详解.docx

《JavaScript之数组Array详解.docx》由会员分享,可在线阅读,更多相关《JavaScript之数组Array详解.docx(9页珍藏版)》请在冰豆网上搜索。

JavaScript之数组Array详解.docx

JavaScript之数组Array详解

JavaScript之数组(Array)详解

  篇一:

Javascript数组及其操作

  Javascript数组及其操作

  1.如何创建数组

  2.如何对数组进行操作(添加,删除,读取)

  3.数组常见方法和属性

  如何创建一个数组,一般地根据初始化设定简单分为3种:

  1.单纯创建数组:

  vararr=newArray();

  要点:

用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用

  2.创建数组的同时规定数组大小:

  vararr=newArray(10);//这里就创建了一个初始化大小为10的数组

  注意:

当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为4294967295

  3.直接初始化:

  vararr=newArray("love","hate","pain");//这里就直接初始化了数组或vararr=["happy","cute","scare"];//括号也可以声明一个数组对象

  当然,类似C语言,可以定义2维3维和多维的数组,例如:

  

  varmyArray=newArray();

  for(vari=0;i  myArray[i]=newArray();

  myArray[i][0]=Math.floor(Math.random()*10);

  myArray[i][1]=Math.floor(Math.random()*10);

  myArray[i][2]=Math.floor(Math.random()*10);

  myArray[i][3]=Math.floor(Math.random()*10);

  myArray[i][4]=Math.floor(Math.random()*10);

  myArray[i][5]=Math.floor(Math.random()*10);

  myArray[i][6]=Math.floor(Math.random()*10);

  myArray[i][7]=Math.floor(Math.random()*10);

  myArray[i][8]=Math.floor(Math.random()*10);

  }

  myArray.sort(function(x,y)...{

  return

  (x[0]==y[0])?

((x[4]==y[4])?

(x[8]-y[8]):

(x[4]-y[4])):

(x[2]-y[2])});

  for(vari=0;i  document.write(myArray[i].join(",")+"

");

  }

  

  数组的属性:

length

  arr.length返回数组arr的长度,常见于循环中对数组的遍历,比如:

  for(vari=0;i  执行部分

  }

  数组元素的访问:

arr[index],其中index表示索引即数组基数,从0开始,共有arr.length个元素.比如:

arr[0]访问第一个数组元素,arr[1]访问第二个数组元素....依次类推数组的操作方法:

先概览下下面的这些操作数组常用的方法(13个)

  toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),pop(),push(),shift(),unshift(),sort(),splice()

  下面逐一分析这些方法的功能和用法.

  toString(),valueOf(),toLocalString():

  功能:

返回数组的全部元素

  注:

数组名也可以返回整个数组

  代码:

  varm=["am","bm","cm"];//用括号声明一个数组对象

  alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm

  alert(m.valueOf());//valueOf()也返回数组对象的所有内容

  alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究

  alert(m);//数组名也返回数组对象的所有内容

  join():

  功能:

把数组各个项用某个字符(串)连接起来,但并不修改原来的数组

  代码:

  varm=["am","bm","cm"];//用括号声明一个数组对象

  varn=m.join("---");//用---连接am,bm,cm.

  alert(m.toString());//m并没有被修改,返回am,bm,cm

  alert(n);//n是一个字符串,为am---bm---cm

  split():

  功能:

把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串

  代码:

  varstr="Ilovemaomao,Iamcaolvchong";

  vararr=str.split("o");//按字符o把str字符串分割成一个数组alert(arr);//输出整个数组

  slice():

返回某个位置开始(到某个位置结束)的数组部分,不修改原数组代码:

  varm=["am","bm","cm","dm","em","fm"];

  varn=m.slice

(2);//返回第二个元素bm后面的元素,即cm,dm,em,fmvarq=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,emalert(n);

  alert(q);

  数组对象的栈操作:

  push():

数组末尾添加一个项

  pop():

删除数组最后一个项

  代码:

  varm=["am","bm","cm","dm","em","fm"];

  m.push("gm");//在数组末尾添加元素gm

  alert(m);

  m.pop();//删除数组最后一个元素gm

  alert(m);

  数组对象的队列操作:

  unshift():

数组头添加一个项

  shift():

删除数组第一个项

  代码:

  varm=["am","bm","cm","dm","em","fm"];

  m.unshift("gm");//在数组第一个元素位置添加元素gm

  alert(m);

  m.shift();//删除数组第一个元素gm

  alert(m);

  sort():

数组按字符的ASCII码进行排序,修改数组对象

  注:

即便是数字数组,也将转化为字符串来进行比较排序

  代码:

  varm=["am","fm","gm","bm","em","dm"];

  m.sort();//按字母序排序

  alert(m);

  concat():

在数组尾添加元素,但不修改数组对象

  代码:

  varm=["am","bm"]

  varn=m.concat("cm");//添加一项cm,并且赋予新数组对象

  alert(m);//原数组没有被修改

  alert(n);//输出新数组对象

  splice():

在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象细节:

  splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的进行添加:

splice(起始项,0,添加项)

  进行删除:

splice(起始项,要删除的项个数)

  进行替换:

splice(起始项,替换个数,替换项)这个其实是添加删除的共同结果代码:

  varm=["am","bm"]

  m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bmalert(m);

  m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm)alert(m);

  m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm)alert(m);

  JavaScript数组操作函数

  join(delimiter):

把数组中各个元素使用分隔符(delimiter)拼成字符串

  concat(array1,array2,...):

合并数组,对原数组不影响,只是返回合并后的新数组

  pop():

删除并返回最后一个元素

  push(element1,element2,...):

在数组末尾追加元素

  shift():

删除并返回第一个元素

  unshift(element1,element2,...):

在数组开始位置添加元素

  reverse():

将数组元素顺序首尾反转

  sort(function):

给数组排序

  如果不给参数,默认按字符排序(所有元素是数字也不会按数字排序的)

  参数必须是一个函数,类似function(a,b){},在函数中判断a,b的大小,a>b返回正数,a  slice(start,end):

返回一个新的数组,将start开始,到end结束(不包括end)之间的元素复制到新数组中

  splice(start,count,replaceElement1,replaceElement2,...):

删除或者替换数组元素,从start开始,对count个元素进行删除或替换

  如果提供replaceElement参数则进行替换,否则进行删除操作,被替换的元素个数和replaceElements的个数不必相等

  返回一个数组,包含被删除或替换掉的元素

  判断是否数组的方法

  vararrayVar=["aaa","bbb","ccc"];

  varnonArrayVar={length:

4,otherAttribute:

"attr"};

  document.write(arrayVar.constructor==Array);

  document.write("

");

  document.write(nonArrayVar.constructor==Array);

  结果是true,false

  grep、map

  Perl语言带出来的东西,jQuery实现selector时用了这种方式

  grep

  对数组的grep操作,指类似这样的代码:

  ArraynewArray=grep(condition,oldArray),这个操作将对oldArray数组的每个元素进行遍历,如果当前处理元素符合条件condition,则加入到返回数组中jQuery中的grep类似这样:

function(elems,callback),elems是DOM元素集合,callback是实现selector的一些表达式函数,如果callback返回true则表明当前处理的元素符合selector表达式

  篇二:

javaScript基础之——数组

  javaScript基础

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1