今日学习内容:
二分法
前提:
使用二分法进行查找的时候,查找的对象数组必须是有序的,大小顺序必须是按照有序的顺序排列的,基本思想就是先确定待查数据的范围,用区间[left,right]表示,逐步缩小范围,直到找到指定的目标元素为止
实现步骤
用变量start来指定查找元素所在数组的开始的下标索引
用变量end来指定查找元素所在数组的结束的下标索引
用变量mid来指定每次开始和结束区间的中间下标索引
初始值 start = 0,end=arr.length - 1; mid=Math.floor((start + end) / 2 )
判断
比较参数num(我们要查的值) 和arr[mid]值的大小
如果num > arr[mid],则表明num只能在区间mid + 1~ end之间 ,将mid+1 给到 start变量即可,end值保持不变
如果num < arr[mid], 则表明num只能在区间start ~ mid-1之间,将mid -1 给到end,start值保持不变
循环上面的步骤,直到 arr[mid] === num 条件成立,返回下标即可。
Date内置对象
Date对象和Math对象有区别,Date是一个构造函数,使用的时候需要使用new来进行实例化。
主要传参方式
数字型传参
字符串型传参
不传参
格式化输出年、月、日、星期
格式化输出 时 分 秒
封装指定格式的时间函数
时间戳
Date对象获取的当前的时间戳是基于1970年1月1日开始的总毫秒数
利用时间戳来实现倒计时案例
思路:
用将来的时间的时间戳减去现在时间的时间戳,将毫秒数的差值转化为秒数,转换为天时分秒即可。
将运算后的结果要进行转化,转化为天时分秒
天的计算公式:parseInt(总秒数 / 60 / 60 / 24)
小时的计算公式:parseInt(总秒数 / 60 / 60 % 24)
分钟的计算公式:parseInt(总秒数 / 60 % 60 )
秒钟的计算公式:parseInt(总秒数 % 60
Array对象
- 检测元素是不是数组
- 例

- 给数组添加或者删除元素
- 添加元素
- 给数组后面添加元素
- 例

- 数组排序
- 例

- 数组翻转
- 例

- 数组索引
- 例

- 数组去重
- 例

- 数组转化字符串
- 例

- 字符串对象
- 基本包装类型
- 一般只有对象才会有属性和方法,为什么像string简单数据类型也会有属性和方法呢?
- 包装步骤如下:

- 字符串常用方法
- 根据字符返回位置
- indexOf() 和 lastIndexOf()
- 例

- 根据位置返回字符
- 例

|