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 相关文章推荐
一行代码告别document.getElementById
Jun 01 Javascript
『jQuery』取指定url格式及分割函数应用
Apr 22 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
Jquery遍历select option和添加移除option的实现方法
Aug 26 Javascript
node.js实现快速截图
Aug 27 Javascript
javascript基础练习之翻转字符串与回文
Feb 20 Javascript
JS中type="button"和type="submit"的区别
Jul 04 Javascript
浅谈在koa2中实现页面渲染的全局数据
Oct 09 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 Javascript
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加密解密的代码
2007/07/16 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
Python argv用法详解
2016/01/08 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
Python上下文管理器全实例详解
2019/11/12 Python
关于Django Models CharField 参数说明
2020/03/31 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
美国知名生活购物网站:Goop
2017/11/03 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
人事主管岗位职责
2014/01/30 职场文书
党员创先争优承诺书
2014/03/26 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
法人授权委托书范本
2014/09/17 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
服务员岗位职责范本
2015/04/09 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
Python类方法总结讲解
2021/07/26 Python
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS