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 相关文章推荐
JavaScript XML实现两级级联下拉列表
Nov 10 Javascript
js中将字符串转换成json的三种方式
Jan 12 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
javascript cookie基础应用之记录用户名的方法
Sep 20 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
Mar 27 Javascript
javascript中floor使用方法总结
Feb 02 Javascript
全面分析JavaScript 继承
May 30 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 Javascript
分享JS表单验证源码(带错误提示及密码等级)
Jan 05 Javascript
15分钟上手vue3.0(小结)
May 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
用文本文件制作留言板提示(下)
2006/10/09 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
js中的面向对象入门
2017/03/06 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
Python阶乘求和的代码详解
2020/02/14 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
linux 下selenium chrome使用详解
2020/04/02 Python
jupyter 导入csv文件方式
2020/04/21 Python
python右对齐的实例方法
2020/07/05 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
python基于selenium爬取斗鱼弹幕
2021/02/20 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
法学毕业生自我鉴定
2013/11/08 职场文书
班主任工作年限证明
2014/01/12 职场文书
个人政治思想总结
2015/03/05 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
python实现双向链表原理
2022/05/25 Python