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 相关文章推荐
对象特征检测法判断浏览器对javascript对象的支持
Jul 25 Javascript
一些经常会用到的Javascript检测函数
May 31 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
理清apply(),call()的区别和关系
Aug 14 Javascript
javascript学习(一)构建自己的JS库
Jan 02 Javascript
jQuery实现长文字部分显示代码
May 13 Javascript
使用js检测浏览器的实现代码
May 14 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
Jan 18 Javascript
AngularJS表单验证功能分析
May 26 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 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初学者头疼问题总结
2006/10/09 PHP
用文本作数据处理
2006/10/09 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
简单实现PHP留言板功能
2016/12/21 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
js function定义函数使用心得
2010/04/15 Javascript
brook javascript框架介绍
2011/10/10 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
如何使用python代码操作git代码
2020/02/29 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
大数据分析用java还是Python
2020/07/06 Python
如何基于Django实现上下文章跳转
2020/09/16 Python
Overload和Override的区别
2012/09/02 面试题
城市创卫标语
2014/06/17 职场文书
党委班子剖析材料
2014/08/21 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
2019感恩宣传标语!
2019/07/05 职场文书