js Array操作的最简短最容易理解方法


Posted in Javascript onDecember 09, 2013

Array 的方法
1 Array.join(): 把所有元素用符号连结成string返回, 如果元素不是基本类型, 先调用toString.
它对应string.split();
arr = [1,2,true,3,4,5];
(arr.join('-') == '1-2-true-3-4-5';

2 Array.reverse(): 逆序排列数组
arr = [1,2,true,3,4,5];
arr.reverse();// arr == [5,4,3,true,2,1];

3 Array.sort(): 排序,可以传递一个排序函数作参数
arr.sort(function(a,b){
    return a-b;
});

4 Array.concat(): 拼接函数,
在末尾拼接上新元素,返回拼接后的array,但是不改变原array;参数可以是一个元素,多个元素,一个数组,
如果是一个元素,或多个元素,直接把这些元素加到末尾,如果是一个数组,则把数组各个元素拿出来拼接到尾部。
a = [1,2,3];
a.concat(4,5)// return [1,2,3,4,5]
a.concat([4,5])// return [1,2,3,4,5]
a.concat([4,5],[6,7]);//return [1,2,3,4,5,6,7]
a.concat([4,[5,6]])//return [1,2,3,4,[5,6]]//注意

5 Array.slice(startPos, endPos): 取子字符串函数(原array保持不变)
从startPos开始到endPos结束但不包括endPos上的元素
如果没有endPos,则取到尾
如果pos为负, 则倒着数
a = [1,2,3,4,5];
a.slice(0,3)// return [1,2,3]
a.slice(3)//return [4,5]
a.slice(1,-1)//return [2,3,4]//从第一个开始取,取到倒数第1个,但不包括倒数第1个
a.slice(1,-2);//return [2,3]//从第一个开始取,取到倒数第2个,但不包括倒数第2个

6 Array.splice(startPos, length, [added1, added2...]) 随机存取函数
可以随机删除一个(些)元素,也可以加上一些元素,
如果只有两个参数,则从array中删除从startPos开始总共length个元素
如果有两个以上参数,则从array中删除从startPos开始总共length个元素,再从刚才删除的位置添加上后面的元素
如果被添加的元素是一个数组则把这个数组作为一个元素(与concat差别)
a = [1,2,3,4,5];
a.splice(1,2)//return [2,3]; a==[1,4,5]
a.splice(1,2,6,7,8)//return [2,3]; a==[1,6,7,8,4,5]
a.splice(1,2,[6,7,8]);//return [2,3]; a==[1,[6,7,8],4,5]

7 Array.push() 和 Array.pop();
都是操作最后一个元素,push是添加,pop是删除最后一个元素并返回该元素

8 Array.unshift() 和 Array.shift()
都是操作第一个元素,unshift是添加,shift是删除第一个元素并返回该元素

合计起来
这些方法会改变原array:reverse, sort, splice, push, pop, unshift, shift
这些方法不会改变原array:join, concat, splice

Javascript 相关文章推荐
js 处理数组重复元素示例代码
Dec 27 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
Dec 02 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
AngularJS 实现购物车全选反选功能
Oct 24 Javascript
在React 组件中使用Echarts的示例代码
Nov 08 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
Jul 10 Javascript
vue侧边栏动态生成下级菜单的方法
Sep 07 Javascript
JavaScript代码调试方法实例小结
Jan 05 Javascript
详解微信小程序之scroll-view的flex布局问题
Jan 16 Javascript
Vue 实现一个命令式弹窗组件功能
Sep 25 Javascript
javascript放大镜效果的简单实现
Dec 09 #Javascript
javascript贪吃蛇完整版(源码)
Dec 09 #Javascript
关于js内存泄露的一个好例子
Dec 09 #Javascript
JS连连看源码完美注释版(推荐)
Dec 09 #Javascript
解析Javascript中难以理解的11个问题
Dec 09 #Javascript
深入理解Javascript作用域与变量提升
Dec 09 #Javascript
Javascript全局变量var与不var的区别深入解析
Dec 09 #Javascript
You might like
PHP字符串处理的10个简单方法
2010/06/30 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
一张图带我们入门Python基础教程
2017/02/05 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
Python转换时间的图文方法
2019/07/01 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
python能自学吗
2020/06/18 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
linux面试题参考答案(7)
2014/07/24 面试题
护士自我鉴定怎么写
2014/02/07 职场文书
物理研修随笔感言
2014/02/14 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
关于童年的读书笔记
2015/06/26 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
离婚民事起诉状
2015/08/03 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
Python3.10的一些新特性原理分析
2021/09/15 Python