zoukankan      html  css  js  c++  java
  • JS_高程5.引用类型(5)Array类型的操作方法

    一.操作方法

    1.concat()方法

      基于当前数组中的所有项创建一个新数组。具体说,是先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给concat()方法传递参数的情况下,它只是复制当前数组并返回副本。

    eg:

    1 var name=["lin","li","fang"];
    2 var name1=name.concat("zhao","zhou",["hao","cheng"]);
    3 alert(name);
    4 alert(name1);

    注意:上面代码中,我把变量名设置为name,这样做不是很好,再下面的slice()如果还是使用name变量名的话,会出现问题,实现不了我们想要的效果:

    2.slice()方法

      基于当前数组中的一或多个项创建一个新数组。

    (1)slice()只有一个参数的情况下,返回从该参数指定位置开始到当前数组末尾的所有项。

    eg:

    1 var colors=["red","green","blue","white"];
    2 var son1=colors.slice(1);
    3 alert(son1);

    使用name作为变量名的话,会出现下面的问题:

    1 var name=["red","green","blue","white"];
    2 var name2=name.slice(1,3);
    3 alert(name2);

    (2)slice()有两个参数时,返回起始位置和结束位置之间的项(但是不包含结束位置的项。)

    eg:

    1 var colors=["red","green","blue","white"];
    2 var son1=colors.slice(1,3);
    3 alert(son1);//输出green,blue

    注意:如果slice()方法的参数中有一个是负数,则用数组的长度加上该数来确定相应的位置。

    eg:

    1 var colors=["red","green","blue","white"];
    2 var son1=colors.slice(-3,-1);
    3 alert(son1);//输出green,blue

    数组的长度为4,  4+(-3)=1,4+(-1)=3,所以slice(-3,-1)和slice(1,3)的结果是一样的。

    3.splice()方法的主要用途是向数组中插入项,使用方式有以下3种:

    (1)删除:可以删除任意数量的项,指定2个参数,要删除的第一项的位置和要删除的项数。

    eg:

    1 var colors=["red","green","blue","white"];
    2 var son1=colors.splice(0,2);
    3 alert(colors);//输出blue,white
    4 alert(son1);//输出red,green

    splice()返回一个数组,该数组中包含从原始数组中删除的项(如果没有删除任何项,则返回一个空数组。)

    (2)插入:可以向指定文字插入任意数量的项,需要三个参数:起始位置,0(要删除的项数)和要插入的项,可以传入多个项。

    eg:

    1 var colors=["red","green","blue","white"];
    2 var son1=colors.splice(2,0,"pink","red");
    3 alert(colors);//red,green,pink,red,blue,white
    4 alert(son1);//空数组

    (3)替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,要需要指定三个参数:起始位置要删除的项数,和要插入的任意项,插入的项数不必与删除的项数相等。

    eg:

    1 var colors=["red","green","blue","white"];
    2 var son1=colors.splice(2,2,"pink");
    3 alert(colors);//red,green,pink,pink
    4 alert(son1);//bule,white

    小结思考:

      这里需要注意的是,好像concat()和splice()方法都可以在一个数组后添加新的项,但是concat()方法是创建一个新的数组,而splice()方法是在原来的数组上进行改变。

    eg:

    1 var colors=["red","blue"];
    2 var colors1=colors.concat("green");
    3 alert(colors);//red,blue.注意这里原理的数组是不变的。
    4 alert(colors1);//red,blue,green.这里返回的新的数组colors1。
    5 var c=colors.splice(3,0,"green");
    6 alert(colors);//red,blue,green。在原来的数组上改变。
  • 相关阅读:
    kettle imestamp : Unable to get timestamp from resultset at index 22
    ImportError: No module named setuptools 解决方案
    Tesseract-OCR
    python截图
    connect to SQL Server in python on centos
    vertica merge 优化
    kettle crontab java: command not found
    Idea 使用maven+tomcat的时候,编译指定的Profile
    Java中Vector和ArrayList的区别
    Docker入门命令
  • 原文地址:https://www.cnblogs.com/LinSL/p/6282585.html
Copyright © 2011-2022 走看看