接上一篇《Javascript数组Array基础介绍》,这一篇详细介绍Array的所有方法。
所有数组的方法都定义在Array.prototype上,而Array.prototype本身也是一个数组。
array.concat()
浅复制一份当前数组,并把接收到的参数附加到新数组的末尾。原数组不改变。
语法
array.concat(value1, value2, ..., valueN)
参数为需要合并的数组或非数组值
var arr1 = [1, 2, 3];var obj = {animal : 'monkey'};var arr2 = arr1.concat([4, 5, 6], obj, [7, 8, 9]);// arr1 [1, 2, 3]// arr2 [1, 2, 3, 4, 5, 6, {animal : 'monkey'}, 7, 8, 9]obj.animal = 'tiger';// [1, 2, 3, 4, 5, 6, {animal : 'tiger'}, 7, 8, 9]
可以合并数组或非数组值,但是要注意如果包含对象,对象还是引用原来的对象。
array.join()
返回一个将数组所有元素用分隔符拼接成的字符串,默认分隔符为逗号。
语法
array.join(seperator)
参数为分割符
var arr1 = [1, 2, 3];var str = arr1.join(); // 1,2,3str = arr1.join('#'); // 1#2#3
当将大量字符串片段组装时,join方法比+元素运算符要快。
利用new Array(3)将生成一个长度为三的空数组,同时结合join()方法,可以实现重复某段字符串。
var str = new Array(3).join('-+'); // -+-+
重复的次数就是数组长度减一,因为字符串是分隔符。
由于数组本身是对象,拥有toString()方法,利用它也能实现将数组拼接成一个字符串,只不过分隔符只能是逗号了。
var arr1 = [1, 2, 3];arr1.toString(); // 1,2,3
实际上它会先调用每一个元素的toString()方法。
array.push()
把一个或多个参数附加在数组末尾,返回数组长度。改变数组自身。
语法
array.push(value1, value2, ..., valueN);
实例
var arr1 = [1, 2, 3];var len = arr1.push(4, 5);console.log(len); // 5console.log(arr1); // [1, 2, 3, 4, 5]
另一种方法也可以实现在数组末尾插入值。
arr1[arr1.length] = 6; // [1, 2, 3, 4, 5, 6] array.pop()
将数组最后一项删除,并返回删除项。改变数组自身。
var arr1 = [1, 2, 3];arr.pop(); // [1, 2] 返回 3
如果数组为空,返回undefined。
array.unshift()
把一个或多个参数插入到数组头部,返回数组长度。改变数组自身。
var arr1 = [1, 2, 3];var len = arr1.unshift(4, 5);console.log(len); // 5console.log(arr1); // [4, 5, 1, 2, 3]
array.shift()
将数组的第一项删除,并返回删除项。改变数组自身。
var arr1 = [1, 2, 3];arr.shift(); // [2, 3] 返回 1
如果数组为空,返回undefined。
新闻热点
疑难解答
图片精选