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'

  

 

posted @ 2015-12-10 15:48  Sunnymood  阅读(148)  评论(0)    收藏  举报