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实现动态添加删除Table行示例
Apr 14 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
浅谈node.js 命令行工具(cli)
May 10 Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 Javascript
基于vue的验证码组件的示例代码
Jan 22 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
Mar 22 Javascript
微信小程序按钮点击动画效果的实现
Sep 04 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
May 09 Javascript
Vue结合路由配置递归实现菜单栏功能
Jun 16 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
ThinkPHP惯例配置文件详解
2014/07/14 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
js中bool值的转换及“&&”、“||”、 “!!”详解
2017/12/21 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
聊聊python中的异常嵌套
2020/09/01 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
中药专业大学生医药工作求职信
2013/10/25 职场文书
商务助理求职信范文
2014/04/20 职场文书
社会实践活动总结报告
2014/04/29 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
高中团支书竞选稿
2015/11/21 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
Oracle中update和select 关联操作
2022/01/18 Oracle
Python可视化学习之seaborn调色盘
2022/02/24 Python