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中使用指数方法Math.exp()的简介
Jun 15 Javascript
JavaScript事件 "事件对象"的注意要点
Jan 14 Javascript
浅谈js基本数据类型和typeof
Aug 09 Javascript
angular使用post、get向后台传参的问题实例
May 27 Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
javascript闭包的使用之按钮切换功能
Aug 30 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
Jun 03 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 Javascript
Vue全局事件总线你了解吗
Feb 24 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
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
php之可变函数的实例详解
2017/09/13 PHP
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
jQuery实现简单弹幕效果
2019/11/28 jQuery
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
python optparse模块使用实例
2015/04/09 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python字典遍历操作实例小结
2019/03/05 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
数据库面试要点基本概念
2013/10/31 面试题
森林防火工作方案
2014/02/14 职场文书
领导党性分析材料
2014/02/15 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
天鹅湖观后感
2015/06/09 职场文书
贷款工作证明模板
2015/06/12 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
ant design vue的form表单取值方法
2022/06/01 Vue.js