一、数组

JavaScript数组常用api

改变原数组:

  • push 末尾添加数据 返回length
  • pop 末尾删除数据 返回删除的那个数据
  • unshift 头部添加数据 length
  • shift 头部删除数据 删除的那个数据
  • reverse 翻转数组 返回翻转好的数据
  • sort 按照位排序 可以传入比较函数 返回排好的数组
  • splice 截取数组或者删除并插入数据 返回一个新数组里面为截取到的值

不改变原数组的方法

  • concat 合并数组 返回一个新的数组
  • join 数组转成字符串
  • slice 截取数组的一部分数据 返回截取到的数据
  • indexOf 从左检查数组中有没有这个数值 返回第一次出现的索引或者-1
  • lastIndexOf 从右检查数组中有没有这个数值

ES6新增的数组方法

  • forEach 遍历数组
  • map 映射数组
  • filter 过滤数组
  • every 判断数组是不是满足所有条件 以return的形式执行条件
  • some 数组中有没有满足条件的
  • find 获取数组中满足条件的第一个数据
  • reduce 叠加后的效果

二维数组

定义一个二维数组

let twod = [];
let rows = 5;
for (let i = 0; i < rows; ++i) {
    twod[i] = [];
}二维数组遍历
双重for,flat

二、栈

先进后出

代码实现:

数组:添加和删除比较慢,查找速度快 链表:查找速度慢,添加和删除速度慢

代码演示:

七、集合

集合(set)是一种包含不同元素的数据结构。集合中的元素称为成员。集合的两个最重要特性是:首先,集合中的成员是无序的;其次,集合中不允许相同成员存在。

代码实现:

二叉树示例图:

二叉树左序遍历:

十、排序算法

十大排序算法js实现

十一、查找算法

1、顺序查找(无序)

for循环遍历

2、二分查找(有序)

每次取中间值与要查找的数对比

代码: