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 相关文章推荐
jQuery 动画基础教程
Dec 25 Javascript
IE8 原生JSON支持
Apr 13 Javascript
javascript showModalDialog模态对话框使用说明
Dec 31 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
Mar 14 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
May 27 Javascript
一个不错的js html页面倒计时可精确到秒
Oct 22 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
Jquery实现简单的轮播效果(代码管用)
Mar 14 Javascript
js判断出两个字符串最大子串的函数实现方法
Nov 01 Javascript
Angular中的interceptors拦截器
Jun 25 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
JavaScript Html实现移动端红包雨功能页面
Jan 10 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
用Zend Encode编写开发PHP程序
2010/02/21 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
ext jquery 简单比较
2010/04/07 Javascript
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
js实现蒙版效果
2020/01/11 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
python命令行工具Click快速掌握
2019/07/04 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
开办化妆品公司创业计划书
2013/12/26 职场文书
大学生个人自荐信样本
2014/03/02 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle