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 相关文章推荐
html5的自定义data-*属性和jquery的data()方法的使用示例
Aug 21 Javascript
js添加千分位的实现代码(超简单)
Aug 01 Javascript
微信小程序实战之自定义toast(6)
Apr 18 Javascript
Vue.extend构造器的详解
Jul 17 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
webpack3之loader全解析
Oct 26 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
JS匿名函数和匿名自执行函数概念与用法分析
Mar 16 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
Aug 22 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
JavaScript继承的三种方法实例
May 12 Javascript
Javascript的promise,async和await的区别详解
Mar 24 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
使用python实现ANN
2017/12/20 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
品质主管岗位职责
2014/03/16 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
应聘英语教师求职信
2014/04/24 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
狮子林导游词
2015/02/03 职场文书
音乐教师求职信范文
2015/03/20 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
民间借贷被告代理词
2015/05/23 职场文书
红与黑读书笔记
2015/06/29 职场文书
运动会运动员赞词
2015/07/22 职场文书
SQL Server中的游标介绍
2022/05/20 SQL Server