1.数组的创建

  var arrayObj = new Array();//创建一个默认数组,长度是0

  var arrayObj = new Array(size);//创建一个size长度的数组,注意Array的长度是可变的,所以不是上限,是长度

  var arrayObj = new Array(item1,item2,…..);//创建一个数组并赋初值

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问

  var ArrayItemValue=arrayObj[1]; //获取数组的元素值

  arrayObj[1]= "要赋予新值"; //给数组元素赋予新的值

3、数组元素的添加

  1> arrayObj.push(item1,item2,...);// 将参数添加到数组结尾,并返回数组新长度

  例:

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

  a.push(6,7); //a结果就是:[1,2,3,4,5,6,7]

  2> arrayObj.unshift(item1,item2,...);// 将参数添加到数组开始,数组中的元素自动后移,返回数组新长度

  例:

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

  a.unshift(-2,-1); //a结果就是:[-2,-1,1,2,3,4,5]

4、数组元素的删除

  arrayObj.pop(); //删除原数组最后一项;

  例:

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

  a.pop(); //a结果就是:[1,2,3,4]

  arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移

  例:

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

  a.shift(); //a结果就是:[2,3,4,5]

  arrayObj.splice(start,deleteCount); //从下标start位置的删除deleteCount个的元素,方法以数组形式返回所移除的元素

  例:

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

  var b = a.shift(0,2); //a结果就是:[3,4,5],b结果就是:[1,2]

5、数组的截取和合并

  arrayObj.slice(start[,end]); //返回从原数组中从start下标开始到 end-1 下标之间的项组成的新数组,如果end不填写则返回start下标开始之后的全部元素。

  例:

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

  var b = a.slice(1,3); //a结果就是:[1,2,3,4,5],b结果就是:[2,3]

  var b = a.slice(1); //a结果就是:[1,2,3,4,5],b结果就是:[2,3,4,5]

  arrayObj.concat(item1,item2,...); //返回一个新数组,新数组是将参数添加到原数组中构成的,而原数组不变

  例:

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

  var b = a.concat(6,7); //a结果就是:[1,2,3,4,5],b结果就是:[1,2,3,4,5,6,7]

6、数组的拷贝

  arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向

  arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

  arrayObj.reverse(); //将数组反序,返回反序后的数组地址

  例:

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

  var b = a.reverse(); //a结果就是:[5,4,3,2,1],b结果就是:[5,4,3,2,1]

  //注意,这里返回的是数组地址,并非数组的拷贝,反序了之后如果原数组改变了,那么反序的数组也随便之改变

  //在此之上再做如下操作

  .pop(); //a结果就是:[5,4,3,2],b结果就是:[5,4,3,2]

  //或者

  b.pop(); //a结果就是:[5,4,3,2],b结果就是:[5,4,3,2]

  arrayObj.sort([orderfunction]); //对按指定的参数数组元素排序,返回排序后的数组地址

  例:

  //在arrayObj.reverse()例子中继续做sort()

  a.sort(); //a结果就是:[2,3,4,5],b结果就是:[2,3,4,5]

  要注意的是,在具体的数组中可以按照orderfunction参数指定的方法进行排序。

8、数组元素的字符串化

  arrayObj.join(separator); //将数组的元素连接在一起组成一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符。

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

  var b = a.join("|"); //a结果就是:[1,2,3,4,5],b结果就是:"1|2|3|4|5"

  toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用。

9、‘增删改’

  arrayObj.splice(start,deleteCount,item1,item2,...);//从下标start位置开始删除deleteCount个元素,并从该位置起插入item1,item2,...,插入位置及之后的元素自动后移,方法返回被删除的项。

  例:

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

  var b = a.splice(2,2,7,8,9); //a结果就是:[1,2,7,8,9,5],b结果就是5:[3,4]

  另外注意:

  var b = a.splice(0,1); //等同shift()方法

  a.splice(0,0,-2,-1); var b = a.length; //等同unshift()方法

  var b = a.splice(a.length-1,1); //等同pop()方法

  a.splice(a.length,0,6,7); //等同push()方法

转载地址:http://blog.csdn.net/jiushuai/article/details/5575948

数组API的更多相关文章

  1. javascript_core_10之继承与数组API

    1.现有两对象间的继承:Object.setPrototypeOf(child,father): 2.基于现有父对象创建子对象:var child=Object.create(father,{新属性} ...

  2. javascript_core_04之数组API

    1.数组API——splice: ①删除:var deletes=arr.splice(starti,n):删除starti位置开始的n个,返回删除元素组成的临时数组: ②插入:arr.splice( ...

  3. 数组Array、数组API

    1.数组:批量管理多个数据的存储空间. 数组的作用:现实中,批量管理多个数据都是集中分组存放,良好的数据结构,可极大提高程序的执行效率! 优点:方便查找 2.创建数组:(4种方式) (1)var 变量 ...

  4. JavaScript中对数组和数组API的认识

    JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...

  5. 数组API汇总

    数组API汇总   Javascript数组API: 1.将数组转化为字符串:2种: 1.var str=String(str); 将数组转化为字符串并分隔每个元素; var arr=[1,2,3]; ...

  6. 数组Api .map()的使用

    之前并没有过多的使用过这个Api,在此记录下对其的理解,方便以后多多使用. 首先是对map的说明: var mappedArray = array.map(callback[, thisObject] ...

  7. Javascript之高级数组API的使用实例

    JS代码中我们可以根据需求新建新的对象解决问题的同时,也有一些常用的内置对象供我们使用,我们称之为API,本篇文章只是对数组部分进行了练习. 例一:伪数组,不能修改长短的数组(所以没办法清零),可以修 ...

  8. js 数组api

    Javascript Array API   JS数组对象提供了很多API方法,要用到的朋友可以查阅哈,如有错误欢迎指正. /** * Created by Administrator on 2017 ...

  9. 数组API(2)

    ES5中数组新增API: 1. indexOf 作用:检测当前数据是否在数组中存在: 特点:如果存在返回相对应的下标,如果不存在则返回-1: 如果数组中存在多个需要判断的这个数据,则返回最近的这个数据 ...

  10. js手写数组Api--模拟实现常见数组Api

    数组的API经常用,但是api的内部实现还没研究过,于是就研究学习了下. 原文地址: https://www.cnblogs.com/yalong/p/11606865.html 数组的API的具体使 ...

随机推荐

  1. 新的开始—js客户端onlick无法响应

    第一次写博客,也是为了以后遇到同样的问题时可以找到,onlick无法响应在百度一些都有解释,这只是一个个人记录而已 问题: function change_tp(ProInfo_id, color_i ...

  2. JSON.parse()和JSON.stringify()使用

    JSON.parse()用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age&qu ...

  3. 移动Web开发规范

    1.字体设置 使用无衬线字体 body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; } 2.设 ...

  4. 《锋利的jQruery》读书笔记

    由于是一边看书一边练习,所以干把笔记写在html文档中.想看的同学可以复制到一个html文档中,结合浏览器查看.不得不说<锋利的jQuery>是本好书,建议好好看看.尊重知识产权,请购买正 ...

  5. 分享Kali Linux 2016.2第48周镜像文件

    分享Kali Linux 2016.2第48周镜像文件Kali Linux官方于11月27日发布Kali Linux 2016.2的第48周镜像.这次延续以往规律,仍然是11个镜像文件.默认的Gnom ...

  6. jquery的siblings()

    jquery 点击 感兴趣 感兴趣变为 蓝色 去掉onclick事件 不感兴趣 变为 黑色 加上点击事件 点击 不感兴趣 不感兴趣变为 蓝色 去掉onclick 感兴趣 变为 黑色 加上点击事件 ht ...

  7. git 学习笔记2--How to create/clone a repository

    1. create/clone 1.1 create 针对已经存在的目录创建一个repository,使用以下命令: git init Initialized empty Git repository ...

  8. IE下Array.prototype.slice.call(params,0)

    i8 不支持 Array.prototype.slice.call(params,0) params可以是 HTMLCollection.类数组.string字符串

  9. HDU5855 Less Time, More profit(最大权闭合子图)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5855 Description The city planners plan to build ...

  10. 解决嵌入WinForm的WPF控件无法显示图片问题

    解决办法是在控件初始化时,通过下面方法再次加载图片: ucCanvas.CreateCoordinateImage.Source = GetImageIcon(global::MainApplicat ...