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 UI 应用不同Theme的办法
Sep 12 Javascript
javascript 使td内容不换行不撑开
Nov 29 Javascript
JavaScript中的字符串操作详解
Nov 12 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
React学习之事件绑定的几种方法对比
Sep 24 Javascript
php中and 和 &&出坑指南
Jul 13 Javascript
vue使用Font Awesome的方法步骤
Feb 26 Javascript
Angular Excel 导入与导出的实现代码
Apr 17 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
Sep 06 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
简单了解前端渐进式框架VUE
Jul 20 Javascript
swiperjs实现导航与tab页的联动
Dec 13 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
PHP实现用户认证及管理完全源码
2007/03/11 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
PHP邮件发送类PHPMailer用法实例详解
2014/09/22 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
JavaScript事件列表解说
2006/12/22 Javascript
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
Vue.js划分组件的方法
2017/10/29 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
初步探究Python程序的执行原理
2015/04/11 Python
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
国际贸易本科毕业生求职信
2014/09/26 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
布达拉宫导游词
2015/02/02 职场文书
小学生安全保证书
2015/05/09 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang