JavaScript中的数组操作介绍


Posted in Javascript onDecember 30, 2014

JavaScript中的数组对象自带了一些方法,可以通过使用这些方法来对数组进行操作。

 

join()

 

可以使用join()方法将数组中的成员合并到一个字符串中:

var o = [1,2,3];

console.log(o.join());//1,2,3

console.log(o.join(" "));//1 2 3

var emptyArray = new Array(10);

console.log(emptyArray.join("-"));//----------

从上面的例子中可以看到,如果join()方法不带参数,那么JavaScript会用逗号作为分隔符将所有的成员合并到一个字符串中;如果join()方法接受参数,那么这个参数会作为分隔符来使用。

reverse()

可以使用reverse()方法将数组中的成员顺序进行颠倒:

//reverse()

o.reverse();

console.log(o);//[3,2,1]

可以看到,调用reverse()语句后,数组自身将发生改变。

执行reverse()语句的返回结果为发生改变后的数组对象。

sort()

可以使用sort()方法对数组中的成员进行排序(默认以字母顺序排列)。与reverse()语句一样,sort()语句会对数组自身进行修改并返回修改后的数组对象:

var a = ["Phone", "Mobile",,,"Canon"];

a.sort();

console.log(a);//["Canon", "Mobile", "Phone", undefined, undefined]

var b = [33,44,111];

console.log(b.sort());//[111, 33, 44]

console.log(b.sort(function(a,b){return a-b}));//[33, 44, 111]

可以看到,sort()语句还接受一个function作为参数来实现自定义排序。

concat()

可以使用concat()方法对数组进行拼接:

var c = [1,2,3];

console.log(c.concat(4));//[1, 2, 3, 4]

console.log(c.concat(5,6));//[1, 2, 3, 5, 6]

console.log(c.concat([7,8]));//[1, 2, 3, 7, 8]

console.log(c.concat([9,10], [11,12]));//[1, 2, 3, 9, 10, 11, 12]

console.log(c.concat([42,43,[44,45]]));//[1, 2, 3, 42, 43, [44, 45]]

console.log(c);//[1, 2, 3]

可以看到,与reverse()和sort()不同,concat()语句仅仅只是返回拼接后的结果而已,对数组自身不会产生任何修改。

slice()

可以使用slice()语句来获取数组中的子数组(sub-array):

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

console.log(d.slice(0,3));//[1,2,3]

console.log(d.slice(3,1));//[]

与concat()一样,slice()语句仅仅只是返回操作后的结果而已,对数组自身不会产生任何修改。对于slice()语句中的两个参数,JavaScript遵循“前包括后不包括”的原则:第一个参数所指定的数组成员会出现在子数组中,而第二个参数所指定的数组成员则不会出现。

splice()

可以使用splice()语句来对数组进行插入和敲除操作。其第一个参数指定插入或敲除的位置(位置成员),第二个参数指定敲除成员的数目(从位置成员开始敲除),从第三个参数开始,所有的参数都会被插入到数组中(从位置成员之前进行插入)。splice()语句返回的结果为被敲除的数组成员所组成的数组。与concat()和slice()不同,splice()会对数组自身产生修改。

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

console.log(e.splice(1,2));//[2,3]

console.log(e);//[1,4,5,6,7]

console.log(e.length);//5

e.splice(1,0,2,3,[4,5]);

console.log(e);//[1, 2, 3, [4, 5], 4, 5, 6, 7]
Javascript 相关文章推荐
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
jquery的ajax异步请求接收返回json数据实例
Jun 16 Javascript
node.js中的buffer.toJSON方法使用说明
Dec 14 Javascript
12种JavaScript常用的MVC框架比较分析
Nov 16 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
canvas实现十二星座星空图
Feb 14 Javascript
20行js代码实现的贪吃蛇小游戏
Jun 20 Javascript
详解webpack import()动态加载模块踩坑
Jul 17 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 Javascript
用jQuery实现抽奖程序
Apr 12 jQuery
jQuery中:first选择器用法实例
Dec 30 #Javascript
JavaScript中的类数组对象介绍
Dec 30 #Javascript
JavaScript中的方法调用详细介绍
Dec 30 #Javascript
JavaScript中的闭包(Closure)详细介绍
Dec 30 #Javascript
JavaScript中的类(Class)详细介绍
Dec 30 #Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 #Javascript
jQuery实现ichat在线客服插件
Dec 29 #Javascript
You might like
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
[02:03]DOTA2亚洲邀请赛 HGT战队出场宣传片
2015/02/07 DOTA
Python urlopen()函数 示例分享
2014/06/12 Python
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
团日活动策划书
2014/02/01 职场文书
网络教育自我鉴定
2014/02/04 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
暑期辅导班宣传单
2015/07/14 职场文书