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高级程序设计 阅读笔记(十四) js继承机制的实现
Aug 14 Javascript
jQuery.validate 常用方法及需要注意的问题
Mar 20 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
Jun 09 Javascript
php读取sqlite数据库入门实例代码
Jun 25 Javascript
Jquery中基本选择器用法实例详解
May 18 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
Jul 18 Javascript
利用vue.js插入dom节点的方法
Mar 15 Javascript
详解10分钟学会vue滚动行为
Sep 21 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
Nov 07 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
Nov 12 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
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
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
validator验证控件使用代码
2010/11/23 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
老生常谈javascript中逻辑运算符&&和||的返回值问题
2017/04/13 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
小程序实现投票进度条
2019/11/20 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
[00:34]DOTA2上海特级锦标赛 VG战队宣传片
2016/03/04 DOTA
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
生物制药自我鉴定
2014/01/25 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
政工师工作总结2015
2015/05/26 职场文书
三八妇女节致辞
2015/07/31 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
MySQL库表名大小写的选择
2021/06/05 MySQL
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang