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 相关文章推荐
HTML中事件触发列表与解说
Jul 09 Javascript
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
这些年、我收集的JQuery代码小结
Aug 01 Javascript
JS验证身份证有效性示例
Oct 11 Javascript
js 动态修改css文件的方法
Aug 05 Javascript
canvas仿iwatch时钟效果
Mar 06 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
解析vue中的$mount
Dec 21 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
Dec 19 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
在vue中使用echarts(折线图的demo,markline用法)
Jul 20 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中eclipse 用空格替换 tab键
2013/06/24 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
PHP框架性能测试报告
2016/05/08 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
原生python实现knn分类算法
2019/10/24 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
大学同学聚会邀请函
2014/01/29 职场文书
社团文化节策划书
2014/02/01 职场文书
金融管理毕业生求职信
2014/03/03 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
2014年新教师工作总结
2014/11/08 职场文书
会计岗位职责范本
2015/04/02 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
yolov5返回坐标的方法实例
2022/03/17 Python