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 使用手册(一)
Sep 23 Javascript
JavaScript中this详解
Sep 01 Javascript
node.js require() 源码解读
Dec 13 Javascript
Extjs4.0 ComboBox如何实现三级联动
May 11 Javascript
javascript闭包概念简单解析(推荐)
Jun 03 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
Oct 27 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
值得收藏的vuejs安装教程
Nov 21 Javascript
JS中用EL表达式获取上下文参数值的方法
Mar 28 Javascript
vue.js购物车添加商品组件的方法
Sep 17 Javascript
小程序的上传文件接口的注意要点解析
Sep 17 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
Sep 07 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
介绍几个array库的新函数 php
2006/12/29 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
jQuery 技巧小结
2010/04/02 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
Python获取apk文件URL地址实例
2013/11/01 Python
python append、extend与insert的区别
2016/10/13 Python
python中hashlib模块用法示例
2017/10/30 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
社会学专业学生职业规划书
2014/02/07 职场文书
房地产项目建议书
2014/03/12 职场文书
投资合作协议书
2014/04/17 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
承诺书样本
2014/08/30 职场文书
pandas数值排序的实现实例
2021/07/25 Python