五、数组

1、创建数组

var a = new Array(); //创建一个空数组
var a = new Array(3); //创建一个有3个元素的数组
var a = new Array(10,"javascript","html")
var a = [10,"javascript","html"];

2、添加数组元素

a[0] = 10;
a[1] = "javascript";
a[10] = "css";

3、Array 对象的属性和方法

1) length 设置或返回数组中元素的数目。
如:
var a = new Array(3);
document.write(a.length);
a.length=5;

2)toString() 把数组转换为字符串,并返回结果。数组中的元素之间用逗号分隔。

3) join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
例:

  var a = new Array("javascript","html","css")
  document.write(a.join()); 
或 document.write(a.join("."));

document.write(a.join("."));的打印结果:javascript.html.css

4) concat() 连接两个或更多的数组,并返回一个新的数组。

var a = [1,2,3];
var b = a.concat(4,5);
for (x in b) {
document.write(b[x] + " ")
}

结果:1 2 3 4 5

5) push() 向数组的末尾添加一个或更多元素,并返回新的长度。

6) pop() 删除并返回数组的最后一个元素。

7) unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

8) shift() 删除并返回数组的第一个元素

9) slice(start,end) 返回一个子数组,包含从 start 到 end (不包括该元素)的 所有元素。

10) splice() 用于插入、删除或替换数组的元素。
格式为:
splice(start, count, value1, value2, ...)
表示用后面的多个value值,来替换从start位置开始的count个元素。

11) reverse() 颠倒数组中元素的顺序。

12) sort() 对数组的元素进行排序
如果不带参数,将按字符编码的顺序排序
可以用一个比较函数做为参数,该比较函数有两个参数 a 和 b,如果返回值大于0,则要交换 a 和 b 的位置;如果返回值小于或等于0,则不操作。
例:

  var a = [10, 35, 234, 42, 8, 53, 125];
  document.write(a.sort() + " ");
  function asc(a, b) {  // 从小到大排序
    return a - b;
  }
  function desc(a, b) { // 从大到小排序
    return b - a;
  }
  document.write(a.sort(asc) + " ");
  document.write(a.sort(desc) + " ");

打印结果:
10,125,234,35,42,53,8(字符编码排序)
8,10,35,42,53,125,234(从小到大排序)
234,125,53,42,35,10,8(从大到小排序)

13) toLocaleString() 把数组转换为本地数组,并返回结果。