所有数组的方法都定义在Array.prototype上,而Array.prototype本身也是一个数组。
array.concat()
浅复制一份当前数组,并把接收到的参数附加到新数组的末尾。原数组不改变。
语法
array.concat(value1, value2, ..., valueN)
参数为需要合并的数组或非数组值
可以合并数组或非数组值,但是要注意如果包含对象,对象还是引用原来的对象。
array.join()
返回一个将数组所有元素用分隔符拼接成的字符串,默认分隔符为逗号。
语法
array.join(seperator)
参数为分割符
当将大量字符串片段组装时,join方法比+元素运算符要快。
利用new Array(3)将生成一个长度为三的空数组,同时结合join()方法,可以实现重复某段字符串。
重复的次数就是数组长度减一,因为字符串是分隔符。
由于数组本身是对象,拥有toString()方法,利用它也能实现将数组拼接成一个字符串,只不过分隔符只能是逗号了。
实际上它会先调用每一个元素的toString()方法。
array.push()
把一个或多个参数附加在数组末尾,返回数组长度。改变数组自身。
语法
array.push(value1, value2, ..., valueN);
实例
另一种方法也可以实现在数组末尾插入值。
将数组最后一项删除,并返回删除项。改变数组自身。
如果数组为空,返回undefined。
array.unshift()
把一个或多个参数插入到数组头部,返回数组长度。改变数组自身。
array.shift()
将数组的第一项删除,并返回删除项。改变数组自身。
如果数组为空,返回undefined。
array.sort()
这个方法按照每个元素的toString()方法返回的值进行排序,所以一般得不到期望的结果。
但是sort()方法可以接收一个我们自定义的函数进行比较。比较函数接受两个参数,尤其sort()默认是升序,所以如果想让第一个参数位于第二个参数前面就要返回负数,相等返回0,位于后面返回正数。
比较字符串可以结合string.localeCompare()方法来用。
array.reverse()
反转数组元素顺序,返回数组自身。
array.slice()
对数组浅复制其中的一段,不改变数组自身。
array.slice(start, end);
方法接受两个参数,最后一个可以省略,默认是数组自身长度。