zoukankan      html  css  js  c++  java
  • 数据结构

    1.    数组

    1-1创建数组

    字面量创建数组:

    let arr = [];

    构造函数创建数组:

    let arr = new Array();

    当我们使用typeof 来打印数组的数据类型时,都会返回一个object,如下:

    let arr1 = [];

    let arr2 = new Array();

    console.log(typeof arr1);//object

    console.log(typeof arr2);//object

    1-2 数组赋值

    先声明再赋值

    let arr = [];

    arr[0] = 1;

    arr[1] = 2;

    arr[2] = 3;

    注意下标是从0开始的。

    声明时直接赋值:

    let arr = [1,2,3,4,5];

    我们可以在数组任意位置进行赋值,数组的长度会自动改变,空的位置使用undefined来进行填充

    let arr = [];

    arr[0] = 1;

    arr[4] = 10;

    console.log(arr);

    //[ 1, <3 empty items>, 10 ]

    注意:js里面数组的数据类型可以是任意类型。

    let arr = [1,"Hello",3.14,true];

    1-3 访问数组元素

    通过数组的下标来访问储存在数组里面的元素。

    let arr = [1,2,3,4,5];

    console.log(arr[0]);//1

    let arr = [1,2,3,4,5];

    let i = 2;

    console.log(arr[i]);//3

    1-4 删除元素

    使用delete运算符来删除数组中某一个元素

    let arr = [1,2,3,4,5];

    delete arr[2];//删除数组中的第3个元素

    console.log(arr);

    //[ 1, 2, <1 empty item>, 4, 5 ]

    1-5数组的遍历

    通过for循环来遍历数组

    let arr = [1, 2, 3, 4, 5];

    for (let i=0;i<arr.length;i++) {

        console.log(arr[i]);

    }

    // 1

    // 2

    // 3

    // 4

    // 5

    通过for-in来遍历数组

    let arr = [1, 2, 3, 4, 5];

    for (let i in arr) {

        console.log(`键为${i}的元素值为{arr[i]}`);

    }

    //键为0的元素值为1

    //键为1的元素值为2

    //键为2的元素值为3

    //键为3的元素值为4

    //键为4的元素值为5

    通过for-of来遍历数组

    let arr = [1, 2, 3, 4, 5];

    for (let i of arr) {

        console.log(i);

    }

    // 1

    // 2

    // 3

    // 4

    // 5

    2.    数组的属性和方法

    2-1 数组相关属性

    length:返回数组元素的个数

    let arr = [1,2,3,4,5];

    console.log(arr.length);//5

    利用这个属性可以快速清空数组。

    let arr = [1,2,3,4,5];

    arr.length = 0;

    console.log(arr);//[]

    2-2 数组相关方法

    添加删除方法

    通过push()和pop()方法来实现添加删除,

    let arr = [];

    let i = arr.push("red","blue");

    console.log(arr);//[ 'red', 'blue' ]

    console.log(i);//2

    let j = arr.pop();

    console.log(arr);//[ 'red' ]

    console.log(j);//blue

    注意push()方法推入元素的时候是从右往左边推入的

    shift()方法可以去除数组中第一个元素并且返回该元素。利用shift()和push()方法就可以实现从右往左的队列

    let arr = [];

    arr.push("red","green","pink");

    let item = arr.shift();

    console.log(item);//red

    console.log(arr);//[ 'green', 'pink' ]

    unshift()方法是在数组开头推入一个元素,跟pop()方法配合可以实现从左往右的队列

    let arr = [];

    arr.unshift("red","green","pink");

    let item = arr.pop();

    console.log(item);//pink

    console.log(arr);//[ 'red', 'green' ]

    操作方法

    contact():先创建一个当前数组的副本,然后将接收道德参数添加到副本的末尾,最后返回新构建的数组,而原本的数组不会变化

     

    let arr = [1,2,3];

    let arr2 = arr.concat("red","blue");

    console.log(arr);//[ 1, 2, 3 ]

    console.log(arr2);//[ 1, 2, 3, 'red', 'blue' ]               

     

    slice():接收一个或者两个参数,代表返回项的起始和结束位置。

    一个参数就代表起始位置,返回从指定的起始位置到数组末尾的所有项。

    两个参数:从指定的起始位置到指定的末尾位置之间的项,但是不包括结束位置的项。

     

    let arr = [1,2,3,4,5,6,7,8,9,10];

    let i = arr.slice(3);

    console.log(i);//[ 4, 5, 6, 7, 8, 9, 10 ]

    console.log(arr);//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

    let j = arr.slice(2,6);

    console.log(j);//[ 3, 4, 5, 6 ]

    console.log(arr);//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

     

    splice():可以实现对数组的删除、插入和替换

     

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

     

    let arr = [1,2,3,4,5,6,7,8,9,10];

    let i = arr.splice(3,5);

    console.log(i);//[ 4, 5, 6, 7, 8 ]

    console.log(arr);//[ 1, 2, 3, 9, 10 ]

     

    插入:可以向任意位置插入任意数量的元素,只需要提供三个参数:起始位置,0,要插入的参数。

     

    let arr = [1,2,3,4,5,6,7,8,9,10];

    let i = arr.splice(3,0,"red","blue");

    console.log(i);//[]

    console.log(arr);

    //[ 1, 2, 3, 'red', 'blue', 4, 5, 6, 7, 8, 9, 10 ]

     

    替换:替换的原理在于在插入的同时进行删除。

     

    let arr = [1,2,3,4,5,6,7,8,9,10];

    let i = arr.splice(3,2,"red","blue");

    console.log(i);//[ 4, 5 ]

    console.log(arr);

    //[ 1, 2, 3, 'red', 'blue', 6, 7, 8, 9, 10 ]

     

    Join()split()

     

    Join():将数组转化为字符串,可以传入分隔符作为参数。

     

    let arr = [1,2,3];

    let str = arr.join("");

    console.log(str);//123

    let str2 = arr.join(",");

    console.log(str2);//1,2,3

     

    split():将字符串转化为数组,传入参数指明以什么作为分割符

     

    let str = "Hello";

    let arr = str.split("");

    console.log(arr);//[ 'H', 'e', 'l', 'l', 'o' ]

    let arr2 = str.split("l");

    console.log(arr2);//[ 'He', '', 'o' ]

  • 相关阅读:
    HTML简介
    Tomcat创建项目
    旅游移动端网站—慢!慢!慢!
    云服务正在吞噬世界!
    2016运维团队所需解决方案的5个关键因素
    关于 OneAPM Cloud Test DNS 监控的几个重要问题
    不可忽视的 .NET 应用5大性能问题
    从 IT 中断中学到的最佳监控实践
    衡量企业应用数据库性能的6大指标
    云监控崛起,你落伍了么?
  • 原文地址:https://www.cnblogs.com/boring333/p/11146256.html
Copyright © 2011-2022 走看看