1.字符串
1.声明字符串
2.字符串方法
3.字符串与数组相互转换
4.多行字符串
5.模板字符串
2. 数组
1.数组简介
2.数组更删改查方法
3.数组迭代方法
3.TypeArray
TypeArray是一个类型数组,也是一个十分重要的属性容器。
一个TypeArray对象不是指一个构造函数,也不是指一个全局对象。 它实际描述一个底层的二进制数据缓存区的一个类似数组视图。 它是一种类数组类型,是二进制数据类型集合的总称。
4.栈
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
5.二叉树
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分 [1] 。
二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。下图js实现二叉树
6.链表
链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表和数组的区别:
数组静态分配内存,链表动态分配内存。
数组在内存中是连续的,链表是不连续的。
数组利用下标定位,查找的时间复杂度是O(1),链表通过遍历定位元素,查找的时间复杂度是O(N)。
数组插入和删除需要移动其他元素,时间复杂度是O(N),链表的插入或删除不需要移动其他元素,时间复杂度是O(1)。
7.set
set这个方法是es6新提出来的,这个方法类似于数组,但是set里面的值是唯一的不允许重复。
set本身是一个构造函数,里面可以存储任意类型的数据的唯一值。
常见方法:
1、add():用于数据的添加。
2、delete():用于数据的删除。
3、size():用于计算set对象的大小(相当于数组的长度)。
4、clear():清空数据。
5、has():用于寻找set对象中是否存在某个值。