目录
1.排序
1.冒泡排序,已在上一章介绍
2.选择排序
基本思想:
首先在未排序序列中找到最小/大元素,存放到排序序列的起始位置(交换位置)再从剩余未排序元素中继续寻找最小/大元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。
核心代码:
var arr=[23,87,97,23,21,42,4,54,657] //定义数组
for(var i=0;i<arr.length-1;i++)//遍历每一个数
{
var minIndex=i//把前面的数记作最小的
for(var j=i+1;j<arr.length;j++)//遍历后面的数
{
if(a[j]<a[minIndex])//作比较找出最小数的下标
{
minIndex=j
}
}
var temp=a[i] //交换位置
a[i]=a[minIndex]
a[minIndex]=temp
}
2.数组去重
基本思想:
方法一:
1.定义一个空数组【存储去重后的元素】
2.遍历原数组
3.判断新数组中是否有原数组当前元素
方法二:
双重for循环+splice实现
外层循环遍历数组所有元素
内层循环依次判断后面的元素是否与外层循环元素相同,如果相同就截取掉
3.字符串
1.概念
由一系列字符组成
2.创建字符串的方式
1.字面量
var str='helloworld'
2.构造函数
var str=new String('')
3.特点:
每个字符对应一个下标,和数组类似,下标从0开始
不能赋值只能访问
字符串的遍历用for循环
字符串可以用length属性
4.字符串的数据类型
【包装数据类型】:当使用.语句调用属性和方法时,自动转为复杂数据类型,使用完又转为 基本数据类型
基本数据类型------------------------------->复杂数据类型
string-----------------------------------------String
扩展:包装数据类型有number string boolean
5.字符串常用的方法:
1.charAt=>访问字符
2.indexOf=>从左向右访问要访问的字符下标,没有就返回-1
3.lastIndexOf=>从右向左访问要访问的字符下标,没有就返回-1
4.substring=>截取字符串
arr.substring(begin,end)//左闭右开
5.substr=>截取字符串
arr.substr(开始截取的元素下标,截取个数)
6.replace=>替换
arr.replace("原字符串","新字符串")
//会返回新字符串,所以一般要给其定义一个新的变量
7.split=>分割字符串
arr.split('分割字符')
//返回数组
8.concat=>拼接
9.trim=>删除字符串两端的空白符
arr.trim()
//返回去掉空格的新字符串
10.startswith()&endswith()
判断字符串是以它开头/结尾的,是就返回true
11.toLowerCasr和toUpperCase
字母的大小写转换
案例:
1.反转字符串
方法一:
字符转数组
数组倒序
数组转字符串
方法二:
循环遍历+拼接
function testReverse(){
var str='abcdefg'
//方法一:
var res=str.split('')//转为数组
var str1=res.reverse()//数组的反转
var str2=str1.join('')//数组转为字符串
console.log(str2)
//方法二
var res2=''
for(var i=str.length-1;i>=0;i--)
{
res2+=str[i]
}
console.log(res2)
}
testReverse()
2. 替换字符串
方法一:
截取转换为数组
数组用join拼接 转为字符串
方法二: replace 有多少个就替换多少个
function testReplace(){
var str='abcdMMfallMMaefeafMMopqrst'
//方法一:
var str1=str.split('MM') //按照MM分割转换成字符串
var str2=str1.join('**')//数组拼接,转为字符串
console.log(str2)
//方法二:
while(str.indexOf('MM')!==-1){
str=str.replace('MM','**')
}
console.log(str)
}
testReplace()
3.截取字符串
function testSplit1(){
var str='javaScript-html-css'
var item=''
var arr=[]
for(var i=0;i<str.length;i++)
{
var chars=str.charAt(i)
if(chars!='-')
{
item+=chars
}
else{
if(item!='')
{
arr.push(item)
item=''
}
}
if(i==str.length-1&&item!='')
{
arr.push(item)
item=''
}
}
console.log(arr)
}
testSplit1()