javascript数组对象实例方法

javascript数组对象实例方法有pop(),push(),reverse(),shift(),sort(),splice(),unshift(),concat(),join(),slice()

pop() : 移除数组中最后一个元素,并返回该元素。 如下:

var a=[1,2,3] ;
console.log(a.pop());   // 输出 3 
console.log(a);   //输出 [1,2]

 

push() : 向数组尾部添加元素,并返回该数组的大小。如下:

var a =[1,2,3];
console.log(a.push(7));   //输出 4
console.log(a);  //输出 [1,2,3,7] 

 

reverse(): 倒置数组中的元素,并返回已倒置的数组。如下:

var a=[1,2,3,4];
var b = a.reverse();
console.log(b); //  [4,3,2,1]

 

shift() : 移除数组中第一个元素,并返回该元素。 如下:

console.log([1,2,3,4].shift());   //  1
console.log([4,5,6].shift());   // 4

 

 sort() : 对数组元素进行排序。说明:方法参数可选。

(1)如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如下:

console.log([1,2,3,4].sort());   // [1,2,3,4]
console.log([3,2,4,1].sort());   // [1,2,3,4]
console.log(['a','b','c','d'].sort());  // ['a','b','c','d']
console.log(['c','a','d','b'].sort());  // ['a','b','c','d']

(2)如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。
var sortProFn = function(a,b){
    return a-b
};
var nuar = [19,4,13,10,5,7,5,20] ;
nuar.sort(sortProFn);
console.log(nuar);  // [ 4, 5, 5, 7, 10, 13, 19, 20 ]

 

splice() : 从一个数组中移除一个或多个元素,如果必要,在移除元素的位置上插入新元素,返回所移除的元素。其中参数说明:splice(arg1,arg2,arg3.....,argn);  前面两个参数arg1,arg2是必需的,参数arg3....argn: 可选,向数组添加的新项目。 参数arg1 : 整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。参数arg2: 要删除的项目数量。如果设置为 0,则不会删除项目

//只有前面两个参数情况下splice(arg1 , arg2),表示从数组第(arg1+1)个元素开始删除,总共删除元素个数为arg2。返回被删除的元素。
var a = [1,2,3,4];
console.log(a.splice(1,2));   //  [2,3]
console.log(a);   // [1,4]

console.log([1,2,3,4].splice(2,3)); // [2,3,4]
console.log([1,2,3,4].splice(2,20)); // [2,3,4]

//参数arg3...argn,向移除元素的位置上插入新元素。
var a  = [5,6,7,8,9];
console.log(a.splice(1,2,3,4)); // [6,7]
console.log(a);   // [5,3,4,8,9]

var b = [5,6,7,8,9]
console.log(b.splice(1,2,3,4,11,13,14)); // [6,7]
console.log(b); // [ 5, 3, 4, 11, 13, 14, 8, 9 ]

 

unshift() : 添加新元素到数组开始位置,并返回该数组大小,如下:

var a=[1,2,3,4];
console.log(a.unshift());   //输出4      (没有参数,不添加元素)
console.log(a);   //输出 [1,2,3,4]
console.log(a.unshift(8));  //输出5     (有参数,向数组开始位置插入元素8。)
console.log(a);   //输出 [8,1,2,3,4]

 

concat():多个数组组合,返回组合后新数组。参数为去组合的多个数组。如下:

var a = [1,2];
var b = [2,3,4];
var c = a.concat(b);
console.log(c);   // [1,2,2,3,4]

var d = c.concat([7,6],[8,9],[11,12,13]);
console.log(d); //[1,2,2,3,4,7,6,8,9,11,12,13]

var e = [].concat([0],[1],[2],[3],[4],[5],[6],[7],[8],[9]);
console.log(e); //[0,1,2,3,4,5,6,7,8,9]

 

join() : 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。返回该字符串,如下:

console.log(['a','b','c'].join("|"));    // 'a|b|c'

 

slice() : 返回数组其中一段元素组成的新数组。选择哪段元素由参数控制。说明:此方法不会修改该数组,返回新的数组。如下:

 // 只有一个参数情况下(start)。如果为正数,选取数组的第(start+1)个元素及其后面所有元素。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
console.log([1,2,3,4,5].slice(1)); //[2,3,4,5]
console.log([7,8,9].slice(-1));  // [9]
console.log([7,8,9].slice(-1)); // [8]

//参数(start,end) 选取方式是从数组的第(start+1)个元素到数组的第end个元素。
console.log([1,2,3,4,5].slice(1,3));  // [2,3]

 

posted @ 2015-05-20 00:52  坏混混  阅读(782)  评论(0编辑  收藏  举报