Javascript 数组常用操作方法
一、数组 Array
1、创建数组
/* 构造函数 */
var arr1 = new Array(); //创建一个空数组
var arr1 = new Array(5); //创建指定长度数组(数组长度随时可以变,用处不大)
var arr1 = new Array(2, 'hello', new Date()); //创建数组,并带初始化数值
/* 字面量 */
var aar2 = [] //创建一个空数组(等同于调用无参构造函数)
var aar2 = [5,8] //创建一个带值的数组
2、元素的添加和删除
/* 直接使用索引添加(index没必要连续,但数组长度会有变化)*/
var a= [1,2,3];
a[3] = 5;
console.log(a); //1,2,3,5 /* unshift:将参数添加到原数组开头,并返回数组的长度 */
var a= [1,2,3];
var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3] b:5 /* shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined */
var a= [1,2,3];
var b = a.shift(); // a:[2,3] b:1 /* push:将参数添加到原数组末尾,并返回数组长度 */
var a= [1, 2, 3];
var b = a.push(4,5); //a:[1,2,3,4,5] b:5 /* pop:删除原数组最末项,并返回删除元素的值;如果数组为空则返回undefined */
var a= [1,2,3];
var b = a.shift(); // a:[1,2] b:3
3、数组连接
var a = [1,2,3];
var b = [4,5];
console.log(a.concat(b)); //1,2,3,4,5
console.log(a); //1,2,3
console.log(b); //3,4
4、splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
/* splice 返回一个由删除元素组成的新数组,没有删除则返回空数组 */
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4] var b = a.splice(0,0,-2,-1); //同unshift var b = a.splice(0,1); //同shift var b = a.splice(a.length,0,6,7); //同push var b = a.splice(a.length-1,1); //同pop
5、reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
6、sort(orderfunction):按指定的参数对数组进行排序,规则必须是函数;默认是按字符编码进行排序
var arr1 = ['jason', 'ada', 'nick', 'hi'];
console.log(arr1.sort()); //['jason', 'ada', 'nick', 'hi'] /* 将数组从小到大排序 */
var arr1 = [2,1,5,4,3];
var arr2 = arr1.sort(function(a,b){
return a-b; //返回b-a 则按从大到小排序
});
console.log(arr2); //1,2,3,4,5 /* 请根据每个元素的i属性,由小到大,排序如下数组 */
var arr1 = [{i:5,v:1},{i:2,v:4},{i:3,v:2},{i:1,v:5},{i:4,v:3}];
var aar2 = aar1.sort(function(a,b){
return a.i - b.i;
});
console.log(arr2);
7、slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
8、join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join('|'); //a:[1,2,3,4,5] b:'1|2|3|4|5'
Javascript 数组常用操作方法的更多相关文章
- JavaScript数组常用操作方法
ES5操作数组的方法 1.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var ar ...
- js数组常用操作方法小结(增加,删除,合并,分割等)
本文实例总结了js数组常用操作方法.分享给大家供大家参考,具体如下: var arr = [1, 2, 3, 4, 5]; //删除并返回数组中第一个元素 var theFirst = arr.shi ...
- javascript数组常用的遍历方法
本篇文章给大家带来的内容是关于javascript数组常用的遍历方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 本文主要介绍数组常见遍历方法:forEach.m ...
- JavaScript数组常用操作
前言 相信大家都用惯了jquery或者underscore等这些类库中常用的数组相关的操作,如$.isArray,_.some,_.find等等方法.这里无非是对原生js的数组操作多了一些包装. 这里 ...
- javascript数组及操作方法
数组及操作方法 数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的. 定义数组的方法 //对象的实例创建 var aList = new Array(1,2,3); //直 ...
- JavaScript数组常用操作总结
我们在日常开发过程中,使用到原生 JavaScript的时候,有时候会频繁的对数组进行操作,今天我把工作以来,经常用到的有关 JavaScript数组的方法总结一下,方便日后工作的时候查找使用! 一. ...
- Javascript 字符串常用操作方法
1.字符串转换 /* 你可以将一个数字,布尔值,或一个字符串对象转换为字符串 */ var num= 18; var str1 = num.toString(); //'18' var str2 = ...
- 二 Array 数组常用操作方法
数组链接 Array 构造上的方法 一.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable) ...
- JavaScript数组常用的方法
改变原数组: ※ push,pop,shif,unshift,sort,reverse ※ splice 不改变原数组: ※ concat,join→split,toString,slice push ...
随机推荐
- Design and Analysis of Algorithms_Divide-and-Conquer
I collect and make up this pseudocode from the book: <<Introduction to the Design and Analysis ...
- OpenCV 轮廓基本特征
http://blog.csdn.net/tiemaxiaosu/article/details/51360499 OpenCV 轮廓基本特征 2016-05-10 10:26 556人阅读 评论( ...
- Windows Phone 八、文件读写IO
文件存储的类型 •本地应用文件: •ApplicationData.Current.LocalFolder: •漫游应用文件: •ApplicationData.Current.RoamingFold ...
- 在Ubuntu14.04_ROS_indigo上安装Kinect2驱动和bridge
小乌龟:大乌龟,你这两周干么呢? 大乌龟:在Ubuntu14.04 ROS_indigo上装Kinect2的驱动和bridge 小乌龟:就装个驱动有什么难的 大乌龟:你说的对小乌龟,这确实不是问题,但 ...
- python学习笔记之基础二(第二天)
1.编码转换介绍 unicode是最底层.最纯的,会根据终端的编码进行转化展示 一般硬盘存储或传输为utf-8(因为省空间.省带宽),读入内存中为unicode,二者如何转换 a = ' ...
- Infinite loop when using cookieless session ID on Azure
If you use cookieless session ID and deploy them on Azure, you might get infinite loop when you quer ...
- s3c2440液晶屏驱动 (内核自带) linux-4.1.24
自带有一部分驱动的配置信息,只要修改这部分就能支援 不同的液晶屏 - /arch/arm/mach-s3c24xx/mach-smdk2440.c 另一部分在 /drivers/video/fbdev ...
- Java使用DatagramSocket
转自:http://book.51cto.com/art/201203/322540.htm Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是 ...
- Struts2 基本配置
Struts2是一个优秀的MVC框架,也是我比较喜欢用的框架.它个各种配置基本都可以集中在一个xml文档中完成.现在让我们看看如何简单几步实现常用功能. 一.搭建Struts2的开发环境 1)首先是利 ...
- [转] How to debug a ARM Cortex-M hard fault exception
how to debug a ARM Cortex-M hard fault exception