js数组操作大全(带实例)

亮术网 2013-04-05 本网原创

  Javascript 数组的操作包括定义、添加删除、读取、修改、复制、排序、截取与合并、把数组所有元素转为字符串等。涉及的操作还是比较多的,接下来一一分解。

  1、数组的定义:

  //定义一个数组
  var arrObj = new Array();

  //定一个指定长度的数组
  var arrObj = new Array([size]);

  //定义一个数组并赋值
  var arrObj = new Array([element0[, element1[, ...[, elementN]]]]);

  举例:

  var arrObj1 = new Array();

  var arrObj2 = new Array(10);

  var arrObj3 = new Array(1,2,3,4,5); 或 var arrObj3 = [1,2,3,4,5] //隐性声明

?

  2、添加数组元素:

  //把一个或多个新元素添加到数组结尾,并返回数组新长度
  arryObj.push([item1 [item2 [. . . [itemN ]]]]);

  //把一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
  arrObj.unshift([item1 [item2 [. . . [itemN ]]]]);

  //从 start 位置开始删除 deleteCount 项,并从该位置起插 item1,item2,...,itemN
  arrObj.splice(start,deleteCount,[item1[, item2[, . . . [,itemN]]]]);

  举例:

  var a = new Array(1,2,3,4,5);

  a.push(6);//结果:a:(1,2,3,4,5,6)

  a.unshift(6); //结果:a:(6,1,2,3,4,5)

  a.splice(2,0,6); //结果:a:(1,2,6,3,4,5)

  var b = a.splice(2,2,6); //结果:a:(1,2,6,5);b:(3,4)

?

  3、删除数组元素:

  arrObj.pop(); //移除最后一个元素并返回该元素值,如果数组为空则返回 undefined

  arrObj.shift(); //移除最前一个元素并返回该元素值,剩余元素自动前移

  arrObj.splice(start,deleteCount); //删除从指定位置(start)开始的指定数量(deleteCount)的元素,数组形式返回所移除的元素

  举例:

  var a = new Array(1,2,3,4,5);

  var b = a.pop();//结果:a:(1,2,3,4,5);b:5

  var c = a.shift(); //结果:a:(2,3,4,5);c:1

  var d = a.splice(2,1); //结果:a:(1,2,4,5);d:3

?

  4、读取和修改数组元素:

  var a = new Array(1,2,3,4,5);

  var b = a[1];//结果:b:2

  var c = a[1] = 6; //结果:a:(1,6,3,4,5);c:6

?

  5、数组元素的排序:

  arrObj.sort(); //对数组元素排序,返回数组地址

  arrObj.reverse(); //把元素按倒序排列,返回数组地址

  举例:

  var b = [6,7,8,5,3,2,1]; //结果:a:(2,3,4,5);c:1;

  b.sort(); //结果:a:(1,2,3,5,6,7,8);

  var a = new Array(1,2,3,4,5);

  a.reverse();//结果:a:(5,4,3,2,1);

?

  6、数组的截取与合并:

  arrObj.slice(start, [end]); //以数组的形式返回数组的一部分,但不包括 end 对应的元素;如果省略 end,则返回 start 之后的所有元素

  arrObj.concat([item1[, item2[, . . . [,itemN]]]]); //把多个数组(或字符串,数组和字符串的混合)合并为一个数组,返回合并后的新数组

  举例:

  var a = new Array(1,2,3,4,5,6);

  var b = a.slice(2,4);//结果:b:(3,4);
  

  var b = [8, 9, 10];

  var c = a.concat(b);//结果:c:(1,2,3,4,5,6,8,9,10);

  var d = a.concat("abc");//结果:c:(1,2,3,4,5,6,a,b,c);

?

  7、数组转字符:

  arrObj.join(separator); //返回把数组元素转为字符后的字符串,中间用 separator 隔开。

  arrObj.toString();//把数组转为一个字符串,并返回该字符串

  arrObj.toLocaleString(); //把数组转换为本地字符串。与 toString() 相似, 在 FireFox 完全相同;在 ie 下,如果是数字,则会在后面补上两位小数;如果是字符串,则会在“,”后加上一个空格。

  举例:

  var a = new Array(1,2,3,4,5,6);

  var b = a.join("");//结果:b:123456;

  var c = a.join("-");//结果:c:1-2-3-4-5-6;
  

  var d = a.toString();//结果:d:1,2,3,4,5,6;

  var e = a.toLocaleString();//结果:e:1.00,2.00,3.00,4.00,5.00,6.00;


  var arr = new Array(); arr[0] = "abc"; arr[1] = "def"; arr[2] = "gh";

  var r = arr.toLocaleString();//结果:r:abc, def, gh;

本文浓缩标签:js数组定义添加删除