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 相关文章推荐
使用JQUERY Tabs插件宿主IFRAMES
Jan 01 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
Jun 22 Javascript
浅谈javascript中new操作符的原理
Jun 07 Javascript
JavaScript数据结构学习之数组、栈与队列
May 02 Javascript
jQuery第一次运行页面默认触发点击事件的实例
Jan 10 jQuery
swiper动态改变滑动内容的实现方法
Jan 17 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
小程序实现左滑删除功能
Oct 30 Javascript
微信上传视频文件提示(推荐)
Nov 22 Javascript
使用 node.js 模仿 Apache 小部分功能
Jul 07 Javascript
vue+elementUI组件table实现前端分页功能
Nov 15 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
Feb 15 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 split汉字
2009/06/05 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
Javascript自定义事件详解
2017/01/13 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python生成随机mac地址的方法
2015/03/16 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python检测生僻字的实现方法
2016/10/23 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
python面向对象法实现图书管理系统
2019/04/19 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
化妆师职业生涯规划书
2014/02/16 职场文书
委托公证书样本
2015/01/23 职场文书
故宫导游词
2015/01/31 职场文书
订货会主持词
2015/07/01 职场文书