冒泡排序
是我们的基础排序算法中的一种
就是把一个乱序的数组排成一个有序的数组
正序:从小到大
倒序:从大到小
选择排序
是我们的基础排序算法中的一种
核心:关注索引(找到最小值的索引和前面的数进行交换)
数组中常用的方法
通用语法:数组 . 方法名()
常见数组方法
push()
语法:数组 . push()
作用:在数组后追加一个数据
返回值:返回的是 数组长度
pop()
语法:数组 . pop()
作用:尾部删除一个数据
返回值:被删除的数据
unshift()
语法:数组 . unshift()
作用:在数组头部添加一个数据
返回值:返回的是 数组长度
shift()
语法:数组 . shift()
作用:在数组头部删除一个数据
返回值:返回的是 被删除的数据
reverse()
语法:数组 . reverse()
作用:用来反转数组
返回值:反转好的数组、
sort()
语法1:数组 . sort()
语法2:数组 . sort (function(a,b){return a-b})正序排列
语法3:数组 . sort (function(a,b){return b-a})倒叙排列
作用:数组排序(按照位进行排序)
返回值:就是一个排序好的数组
splice()
语法1:数组 . splice(开始索引,多少个)
语法2:数组 . splice(开始索引,多少个,添加的数据1,添加的数据2...)
作用:删除数组元素并插入数据
返回值:返回的是 被删除的数组,如果没有就是一个空数组
以上方法的共同特点是会改变原始数组
数组常用方法2
concat()
语法:数组 . concat(数据)
作用:合并两个数组
返回值:是一个新数组,但是原先数组不会改变
join()
语法:数组 . join(数据)
作用:吧一个数组转换为一个字符串
返回值:转换好的字符串,原先数组不会改变
slice()
语法:数组 . slice(开始索引,结束索引)
作用:用来截取数组一部分
返回值:必然是一个数组,里面的数据是截取的数组部分
特点:包前不包后
indexOf()
语法1:数组 . indexOf(数据)
语法2:数组 . indexOf(数据,开始索引)
作用:用来查找数组中是否有这个数据(从前向后检索)
返回值:如果有,就返回这个数据第一次出行的位置的索引
如果没有,就返回-1
lastindexOf()
语法1:数组 . indexOf(数据)
语法2:数组 . indexOf(数据,开始索引)
作用:用来查找数组中是否有这个数据(从后向前检索)
返回值:如果有,就返回这个数据第一次出行的位置的索引
如果没有,就返回-1
数组塌陷
就是当我们对数组进行删除操作时候,索引会前移,就是本应该被删除的数据不能被删除,我们称之为数组塌陷
解决方法:
倒着循环
在执行完毕之后在执行++操作之前先进行一个--操作
数组的常用方法
通用语法:数组 . 方法名()
和循环遍历相关
forEach()
语法:数组 . forEach(function(item,index,arr){})
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:用来循环遍历
返回值:没有返回值
map()
语法:数组 . map(function(item,index,arr){})
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:用来映射数组
返回值:必然是一个数组,和之前数组长度一样的数组
注意:要以return的形式书写返回条件
every()
语法:数组 . every(function(item,index,arr){})
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:用来检测数组中的每一项是否符合我们的指定条件
返回值:布尔值
true:数组中每一项都满足条件时返回
false:只要有一项不满足就返回false
注意:要以return形式书写返回条件
some()
语法:数组 . some(function(item,index,arr){})
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:用来检测数组中的数据是否有满足我们的条件的
返回值:布尔值
true:只要有一个满足返回true
false:都不满足时返回false
fiflter()
语法:数组 . fiflter(function(item,index,arr){})
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:用来过滤我们的数组的
返回值:是一个数组,如果有满足条件的,就是我们符合条件的选项,如果没有,就是一个空数组
注意:以return形式书写返回条件
find()
语法:数组 . find(function(item,index,arr){})
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:用来查找符合我们要求的数据的
返回值:如果有,返回符合条件的第一项,如果没有,返回undefined
注意:以return形式书写返回条件
reduce()
语法:数组 . reduce(function(prev,item,index,arr){},初始值)
prev:一开始是初始值,之后就是每一次的结果
item:表示数组中的每一项
index:表示每一项对应的索引
arr:表示原始数组
作用:就是用来进行叠加的
返回值:就是叠加好的一个结果
注意:以return形式书写返回条件
字符集
计算机诞生的时候就出现了128个字母+符号
字符串
是一种基本数据类型,同时,字符串也是一种包装数据类型。就是在保存的时候以基本数据类型保存,使用的时候瞬间转化为复杂数据类型,使用完成后立玛转化为基本数据类型
字符串的创建
字面量方式
语法:var 变量名 = "内容"
注意:使用单引号或双引号或反引号
只要被引号包裹的都是字符串
内置构造函数
语法:var 变量名 = new String(" 数据 ")
字符串的操作
length
注意:这个属性是一个只读属性,空格也算一个字符
读(获取)
语法:字符串 . length
返回值:就是字符串的长度
索引(下标)
注意:也是一个只读属性
语法:字符串[ 索引 ]
返回值:该索引存在,返回的是该索引所对应的值,如果该索引不存在,返回undefined
遍历
也是一组有规律的数字
可以用for循环
字符串常用方法
在js中提供操作字符串的方法
通用语法:字符串 . 方法名
常用方法
charAt()
语法:字符串 . charAt(索引)
作用:返回该索引位置的值
返回值:如果有;返回该索引对应位置的值
如果没有,返回空字符串
charCodeAt()
语法:字符串 . charCodeAt(索引)
作用:返回该索引位置的值的编码
返回值:就是该索引对应值的ascll值
toUpperCase()
语法:字符串 . toUpperCase(索引)
作用:把小写变成大写
返回值:转换好的字符串
toLowerCase()
语法:字符串 . toLowerCase(索引)
作用:把大写变成小写
返回值:转换好的字符串
substra()
语法:字符串 . substra(开始索引,多少个)
作用:截取字符串中的片段
返回值:截取出来的字符串片段,返回值是字符串
subString()
语法:字符串 . subString(开始索引,结束索引)
作用:用来截取字符串中的一个片段
返回值:截取出来的字符串片段(包前不包后)
replace()
语法:字符串 . replace("换下片段","换上片段")
作用:替换字符串
返回值:替换好的字符串
特点:能替换多个中的第一个符合要求的片段
split()
语法:字符串 . split(分隔符)
作用:分隔符吧字符串分割成一个数组
返回值:就是一个数组,内容是分割好的字符串中的数据
特点:如果分隔符在字符串中没有就当作一个整体进行分隔,如果有就按照你的字符进行分隔
concat()
语法:字符串 . concat(数据1,数据2...)
作用:把数据合并到字符串中放到末尾
返回值:拼接好字符串
slice()
语法:字符串 . slice(开始索引,结束索引)
作用:截取字符串中的一个片段
返回值:截取的字符串
特点:包前不包后
indexOf()
语法:字符串 . indexOf(数据)
语法:字符串 . indexOf(数据,开始索引)
作用:用来检测字符串中有没有该数据
返回值:如果有就是该数据第一次出现对应的索引,如果没有就是-1
lastIndexOf()
语法:字符串 . lastIndexOf(数据)
语法:字符串 . lastIndexOf(数据,开始索引)
作用:用来检测字符串中有没有该数据
返回值:如果有就是该数据第一次出现对应的索引,如果没有就是-1
trim()
语法:字符串 . trim()
作用:去除首尾空白
返回值:去除后的字符串
trimStart() / trimLeft()
语法:字符串 . trimStart() / trimLeft()
作用:去除头部空白
返回值:去除头部空白后的字符串
trimEnd() / trinRight()
语法:字符串 . trimEnd() / trimRight()
作用:去除尾部空白
返回值:去除尾部空白后的字符串