JS数组方法详解

目录

1、将数组转化为字符串:join()

2、添加

3、删除

4、数组升序排列:sort()

5、反转数组顺序:reverse()

6、操作方法

7、位置方法


1、将数组转化为字符串:join()

        参数:一个参数,把数组分割为字符串,如果有参数用参数来分隔,没有参数默认用逗号分隔

(1)默认用逗号分隔:

<script>
    var arr=["a","b","c","d","e"]
    console.log(arr);
    console.log(arr.join());
</script>

(2)分隔参数为空:

<script>
    var arr=["a","b","c","d","e"]
    console.log(arr);
    console.log(arr.join(''));
</script>

 

2、添加

(1)向数组最前面添加元素:unshift()

        参数:添加数组的内容

<script>
    var arr=["a","b","c","d","e"]
    console.log(arr);
    arr.unshift('f','g','h');
    console.log(arr);
</script>

(2)向数组最后面添加元素:push()

        参数:添加数组的内容

<script>
    var arr=["a","b","c","d","e"]
    console.log(arr);
    arr.push('f','g','h');
    console.log(arr);
</script>

 

3、删除

(1)删除数组第一项:shift()

<script>
    var arr=["a","b","c","d","e"]
    console.log(arr);
    arr.shift();
    console.log(arr);
</script>

(2)删除数组最后一项: pop()

<script>
    var arr=["a","b","c","d","e"]
    console.log(arr);
    arr.pop();
    console.log(arr);
</script>

4、数组升序排列:sort()

        无参数

        返回值:排序后的数组

(1)如果是单个数字,默认通过ASCII码排序

<script>
    var arr=["5","1","0","3","4","8","6",]
    console.log(arr);
    arr.sort();
    console.log(arr);
</script>

 

(2)如果不是单个数字

        从小到大排序:如果v1-v2大于0,则v1和v2交换位置

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    console.log(arr);
    arr.sort(function(v1,v2){
        return v1-v2;
    });
    console.log(arr);
</script>

         从大到小排序:如果v2-v1小于0,则v2和v1交换位置

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    console.log(arr);
    arr.sort(function(v1,v2){
        return v2-v1;
    });
    console.log(arr);
</script>

 

5、反转数组顺序:reverse()

        无参数

        返回值:排序后的数组

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    console.log(arr);
    arr.reverse()
    console.log(arr);
</script>

6、操作方法

        (1)拼接数组:concat()

                参数:多个参数,可以是数组也可以是其它类型

                功能:创建新数组,将接受到的参数添加到新数组末尾

                返回值:新构建的数组

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    var newarr=[]
    console.log(arr);
    newarr=arr.concat("1000","a","b")
    console.log(newarr);
</script>

        (2) 截取数组:slice()

                参数:一个参数:返回从该参数位置开始到数组末尾的所有项

                           两个参数:返回起始和结束位置之间的项,包括起始位置,但不包括结束位置的项

                功能:基于方法的参数索引,截取一个新数组,不会改变数组

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    var newarr=[]
    console.log(arr);
    newarr=arr.slice(3)
    console.log(newarr);
</script>

 

        (3)splice()

                a、删除:splice(下标,删除的个数)

                      两个参数,要删除的第一项的起始位置和要删除的项数

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    console.log(arr);
    arr.splice(3,4)
    console.log(arr);
</script>

              

 

                b、添加:splice(下标,0,添加的项)

                      三个参数,起始位置,0,要插入的任意数量的项

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    console.log(arr);
    arr.splice(3,0,"a","b","c")
    console.log(arr);
</script>

     

 

                c、替换:splice(下标,删除的个数,替换的项)

                      三个参数,起始位置,要删除的项数,要替换的任意数量的项

                

<script>
    var arr=["65","11","0","113","14","38","6","25"]
    console.log(arr);
    arr.splice(3,4,"a","b","c","d")
    console.log(arr);
</script>

7、位置方法

(1)indexOf()

        作用:从前向后查找或者获取元素的索引值,如果找不到,得到的的值就是-1

        参数:一个参数:要查找的元素

                    两个参数:要查找的元素,查找这个元素开始的索引

<script>
    var arr=["65","11","0","113","g","14","a","38","6","25"]
    console.log(arr);
    var index=arr.indexOf('g')
    console.log(index);
</script>

 (2)lastIndexOf()

                作用:从后向前查找或者获取元素的索引值,如果找不到,得到的的值就是-1

                参数:一个参数:要查找的元素

                           两个参数:要查找的元素,查找这个元素开始的索引

                注意:虽然是从后向前查找,但是最左面的是索引0

<script>
    var arr=["65","11","0","113","g","14","a","38","6","25"]
    console.log(arr);
    var index=arr.lastIndexOf('25')
    console.log(index);
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值