该方法是将数组内的所有元素转化为字符串并拼接在一起,最后返回生成的字符串。可以指定一个可选的字符串,来分隔数组得各个元素,默认使用 “,” 相隔
例:
vararr = [
1,
2,
3];
arr.join(); ==> 输出
'1,2,3'
arr.join(
" ") ==> 输出
'1 2 3'
arr.join(
"") ==> 输出
'123'
此时再次打印arr
console.log(arr); ==> 输出[
1,
2,
3]
reverse()方法
该方法是将数组中的元素颠倒顺序,返回逆向数组
例:
vararr = [
1,
4,
3];
arr.reverse(); ==> 输出[
3,
4,
1]
此时再次打印arr
console.log(arr); ==> 输出[
3,
4,
1]
sort()方法
该方法是将数组中的元素排序,返回排序后的结果,默认是按字母表顺序进行排序(如有必要将转化为字符串进行比较),如果数组中带有undefined元素,则它们会被排到数组尾部。可以传递一个函数,该函数决定了它的两个参数在排好序的数组中的先后顺序,如果函数的返回值小于0,则第一个参数就在前面,反之,第一个参数就在后面,假设两个值相等,则就返回0
例:
vararr = [
'abc',
'cfg',
'1',undefined]
arr.sort(); ==> 输出[
"1",
"abc",
"cfg", undefined]
vararr1 = [
2,
5,
3,
7,
6];
返回值小于0,从小到大进行排列
arr1.sort(
function (a,b){
returna - b}); ==> 输出[
2,
3,
5,
6,
7]
返回值大于0,从大到小进行排列
arr1.sort(
function (a,b){
returnb - a}); ==>输出[
7,
6,
5,
3,
2]
此时输出arr1
console.log(arr1); ==>输出[
7,
6,
5,
3,
2]
concat方法
该方法会将原数组和传进来的参数拼接成一个新的数组并返回,不修改原数组,如果传进来的参数为数组,则会将数组里的每一项与原数组拼接
例:
vararr = [
1,
3];
arr.concat(
5,
4,[
6,
7,[
8,
9]],{s:
'1'}); ==> 输出[
1,
3,
5,
4,
6,
7,[
8,
9],{s:
'1'}]
此时输出arr
console.log(arr); ==>输出[
1,
3]
slice(start,end)方法
该方法返回指定数组的一个片段或者子数组,最多可以传递两个参数,当只传递一个参数时,表示从指定起始位置,一直到最后,返回包含起始位置的数组,如果传递两位,返回包含起始位置,但不包含结束位置的数组,如果传递负数,表示结束位置为倒数第几位,此方法不改变原数组
例:
vararr = [
1,
2,
3,
4];
arr.slice(
0,
2); ==> 输出[
1,
2]
arr.slice(
1); ==> 输出[
2,
3,
4]
arr.slice(
-1,
-3); ==> 输出[]
arr.slice(
-3,
-2); ==> 输出[
2]
arr.slice(
1,
-1); ==> 输出[
2,
3]
此时输出arr
console.log(arr) ==> 输出[
1,
2,
3,
4]
splice()方法
该方法可以插入或者删除数组中的元素,里面可以传参数,第一个参数代表插入或删除的起始位置,第二个参数是指定删除元素的个数,不传就代表从起始点到数组末尾的元素都将被删除,紧跟其后的参数都是要插入数组中的元素,记住它的返回值是由删除的元素组成的数组,它会修改原数组
例:
vararr = [
1,
2,
3,
4];
vara = arr.splice(
2); ==> 输出a的值为[
3,
4],此时arr的值为[
1,
2]
上下对应的是不同的方式运行的结果
vara = arr.splice(
1,
2); ==>输出a的值为[
2,
3],此时arr的值为[
1,
4]
vara = arr.splice(
1,
2,
5,
6); ==>输出a的值为[
2,
3],此时arr的值为[
1,
5,
6,
4]
vara = arr.splice(
1,
2,[
5,
6]); ==>输出a的值为[
2,
3],此时arr的值为[
1,[
5,
6],
4]
该方法区别于concat,它会把指定插入的什么,就会插入什么,不会做出改变
push()方法,pop()方法
1. push方法在数组的尾部添加一个或者多个元素,返回的是数组的新的长度
例:
var arr =
[1,2];
var a = arr.push(
[],{},
3,
[1,2],{s:'haha'}); ==>输出a的值为
6
//原数组arr为
[1,2,[],{},
[1,2],{s:'haha'}]
2. pop方法是删除数组的最后一个元素,返回的是删除的值
例:
vararr = [
1,
2,
3];
vara = arr.pop(); ==>输出a的值为
3,原数组arr的值为[
1,
2]
pop里面传参数是没有用的,返回的都是数组最后一位
unshift()方法、shift()方法
1. unshift()方法,是在数组的最前面插入指定元素,返回新数组的长度
vararr = [
1,
2,
3];
vara = arr.unshift(
4,
5,
6); ==>输出a的值
6,原数组arr为[
4,
5,
6,
1,
2,
3]
2. shift()方法,是删除数组第一位元素,返回删除的值
vararr = [
1,
2,
3];
vara = arr.shift(); ==>输出a的值为
1,原数组arr为[
2,
3]
shift方法里面传参没有什么用,返回的都是数组的第一位
toString()方法、toLocaleString()方法
1. toString()方法将其数组中的每个元素转化为字符串,必要时将调用元素的toString方法
注意:输出不包括方括号或其它任何形式的包裹数组值得分隔符
vararr = [
'a',
1,[
2,
3],[],{},{
s:
'hello'}];
var a = arr.toString();
//输出a的值为"a,1,2,3,,[object Object],[object Object]"
2. toLocaleString()方法,
总结:
- 会修改原数组的值方法有 push(),pop(),unshift(),shift(),splice()
- 会修改原数组的顺序的有reverse()(反转),sort()(排序)