一、今日知识点
Math对象
二分法
前提:
使用二分法进行查找的时候,查找的对象数组必须是有序的,大小顺序必须是按照有序的顺序排列的,基本思想就是先确定待查数据的范围,用区间[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简单数据类型也会有属性和方法呢?
因为实际上js是将简单的数据类型进行了包装
包装步骤如下:
字符串常用方法
根据字符返回位置
indexOf() 和 lastIndexOf()
根据位置返回字符
|