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


    数组基础知识
    数组是大多数语言里面最常见的一种数据结构,它是一个有序的值列表
    创建数组
    创建数组的方式大致可以分为两种:字面量创建数组和使用构造函数创建数组
    字面创建数组
    let arr = [];
    构造函数常见数组
    let arr = new Array();
    需要注意的是,无论是字面量形式创建的数组,还是构造函数创建的数组,当我们使用typeof来打印其数据类型的时候,都会返回一个object
    数组赋值
    先声明在赋值
    let arr = [] //注意下标是从0开始的
    arr[0] = 1;
    arr[1] = 2;
    声明直接赋值
    let arr = [1,2,3,4,5]
    需要注意的是我们可以在数组任意位子进行赋值,数组的长度会自动改变,空的位置使用undefined来进行填充
    访问数组元素
    通过数组的下标,我们可以轻松的访问到储存在数组里面的元素
    删除元素
    我们可以通过delete运算符来删除数组中的某一个元素
    结构数组
    就是讲一个复杂类型的数据分解为一个普通类型数据。结构式ES6新添加的功能,可以对数组和对象进行结构
    多维数组
    首先需要说明的是,js里面不支持传统编程语言中的多维数组。但是没有与js的数组里面所存放的数据的数据类型可以是任意类型,所以我们可以模拟出多维数组
    拓展运算符
    拓展运算符是ES6开始新添加的运算符,用于去除可迭代的对象的每一项。有了这个运算符以后,我们可以使用它将字符串快速转为数组
    数组相关属性和方法
    相关属性
    length:返回数组元素的个数。我们利用此元素,可以快速的晴空数组,这种方法比使用重新赋值的效率要 高些
    相关方法
    添加删除方法
    push在后面添加元素
    pop在后面删除元素
    unshift在头部添加元素
    shift在头部删除元素
    推入的时候可以一次性推入多个元素,返回的是新数组的长度
    弹出的时候一次只能弹出一个元素,返回的是弹出的元素
    操作方法
    concat:该方法是先创建当前数组的一个副本,然后将接受到的参数添加到副本的末尾,最后返回新构建的数组,儿原本的数组不会变化
    slice:该方法可以接受一个或者两个参数,代表返回项的起始和结束位子。
    splice:这个方法非常厉害,可以实现对数组的三种类型的操作:删除,插入和替换,相当于是增删改操作都可以用这个方法来实现
    数组和字符串相互转换
    join
    将数组转为字符串,可以传入分隔符作为参数
    split
    将字符串转为数组,传入参数指明以什么作为分隔符
    数组重排序方法
    重排序涉及到两个方法:reverse和sort
    reverse:翻转数组项的顺序,注意使用该方法时会改变原来数组的顺序,而不是返回一个副本
    sort:按照升序排列数组的每一项
    位置方法
    includes:用于查看数组里面是否包含某个元素,包含返回true,否则返回false
    indexif和lastindexof,都接收两个参数:要查找的项目和查找的起点位置索引,区别在于一个是从数组开头开始找,一个是从数组末尾开始找。没有找到就返回-1.
    集合
    创建结合
    直接使用new 就可以创建一个set对象,如果想要集合在创建时就包含初始值,那么我们可以传入一个数组进去
    给集合添加值
    使用add()方法可以给一个集合添加值,由于调用add方法以后返回的又是一个Set对象,所以我们能连续掉用add方法进行值的添加
    集合相关属性和方法
    size属性获取元素个数
    使用has方法来查看一个集合中是否包含某一个值
    使用delete可以删除Set对象里面的某一个元素;如果要一次删除所有的元素,可以使用clear方法
    遍历集合
    集合也是可以枚举的,我们同样可以使用for-of来对集合进行遍历,或者通过forEach来进行遍历
    也可以使用keys,values,entries方法对集合进行遍历
    映射
    创建映射
    使用new关键字与Map够着函数,就可以创建一个空的map对象
    映射的相关属性和方法
    has(key)检车指定的键名在map映射中是否已经存在
    delete(key)从map映射中的溢出指定键名及其对应的值
    clear()移除map映射中的所有键值
    映射的遍历
    与集合一样,映射也是可以枚举的,所以可以用与集合类似的方式进行遍历
    for-of
    keys
    values
    entries
    映射转为数组
    map结构转为数组结构,比较快速的方法还是使用前面介绍过的扩展运算符...,或者使用array对象的from方法

  • 相关阅读:
    thinkpad--Windows8 F11一键恢复方法
    ThinkPad---Windows8更换Windows7方法
    断网问题360解决方案
    网络故障诊断指南
    重装系统指南
    题目1123:采药
    题目1019:简单计算器
    题目1012:畅通工程
    你的隐私数据真的安全吗之memset()使用分析
    高光谱图像处理深度学习方法综述(一)
  • 原文地址:https://www.cnblogs.com/wwjljwx/p/11334788.html
Copyright © 2011-2022 走看看