数组

数组可以通过数组直接量与Array对象来创建

var arr1 = []; // 使用数组直接量创建一个空数组
var arr2 = ['a', 'b', 1, 2]; // 使用数组直接量创建一个数组,并向其中添加四个元素
var arr3 = new Array(); // 通过Array对象创建一个空数组
var arr4 = new Array(10); // 如果Array构造函数只有一个number类型的参数,那么就是创建一个长度为number的空数组。这句语句就是创建了一个长度为10的空数组。
var arr5 = new Array("12", "a"); // 通过Array对象创建了一个数组,并向其中添加了两个元素。

数组的长度,数组通过length属性来描述数组的长度,长度是可变的,而且不会因为长度而发生数组越界的问题。

var arr1 = ["a", 1, 2, "3"];
arr1.length; // 4
arr1[0]; // "a"
arr1[1]; // 1
arr1[2]; // 2
arr1[3]; // "3"
arr1[100]; // undefined

数组的长度,是一个可读写的属性,直接把长度length设置为更小的值,相当于删除了数组超出长度之外的某此元素。

var arr = [1,2,3,4,5,6,7];
arr.length; // 7
arr.length = 2;
arr; // [1,2]

数组的常用方法:

1、join方法:用于把数组按参数拼接成字符串返回。

var arr = ["a", "b", "c", "d"];
arr.join(); // "a,b,c,d"
arr.join(","); // "a, b, c, d" 注意有参数与没参数时,元素间有一个空格的差异(在Chrome 36.0.1925.2版本中没有发现此情况)
arr.join(":"); // "a:b:c:d"

2、slice方法:用于指定从那个位置a开始到那个位置b结束以截取子,区间为[a, b)。

var arr = [1,2,3,4,5,6,7,8,9];
arr.slice(0, 3); // [1, 2, 3]

3、splice方法:用于删除数组中的元素或插入元素到数组中。第一个参数m表示从那个位置开始,第二个参数n表示删除多少个元素,第二个以后的参数表示在m位置删除n元素之后,在m位置插入第二个参数之后的所有参数到数组中。

var arr = [1,2,3,4,5,6,7,8,9];
arr.splice(0, 1, 'a', 'b'); // 在0个位置,删除一个元素,并把'a'与'b'两个元素,添加到第0个位置。最终arr数组变为['a', 'b', 2, 3, 4, 5, 6, 7, 8, 9]

splice方法是在原数组上做修改,并返回被删除的元素。

var a = [1,2,3,4,5,6];

var b = [7,8];

如果把b数组中的所有元素插入到a数组的第2个位置使用a数组内容为[1,2,7,8,3,4,5,6]。可以直接使用splice方法

Array.prototype.splice.apply(a, [2, 0].concat(b));

4、unshift与shift方法:shift方法是把数组的第一个元素取出来。unshift方法是向数组的第一个位置添加元素。

var arr = [1, 2, 3, 4, 5];
arr.shift(); // 1
arr.unshift("a"); // ["a", 2, 3, 4, 5]

5、concat方法:合并两个数组。

var arr = [1, 2, 3, 4, 5];
// 复制一个新数组
var copyOfArr = arr.concat(); // 创建与arr元素完全相同的新数组
var arr2 = arr.concat([1,2,3,4]); // [1, 2, 3, 4, 5, 1, 2, 3, 4]
原文地址:https://www.cnblogs.com/wangg-mail/p/4354799.html