1、梳理知识点
对象 : { }
构造函数 : new Array()
内置对象---数组
数组定义 :
[ ]
new Array( 9 )
for..in for
操作方法
push pop shift unshift splice sort reverse
join() concat()
栈和堆:
值传递和地址传递
二维数组 :
2、冒泡排序
原理 : 相邻的两个数做比较,大数下沉 小数上浮(如果前一个数大于后一个数,就交换)
每一趟比较完成后 找到最大值 下沉
第一趟比较完成后找到的是数组中的最大值
function mySort( arr ){
//外层循环 控制比较的趟数
for( var i = 0 ; i < arr.length-1 ; i++ ){
//里层循环控制每一趟比较的次数
for( var j = 0 ; j < arr.length-1-i ; j++ ){
//如果数组中前一个数 大于 后一个数 就交换
if( arr[j] > arr[j+1] ){
[arr[j] , arr[j+1]]=[arr[j+1] , arr[j]]
}
}
}
return arr;
}
3、选择排序
每一轮 比较时,用数组中的某个数和后面的数依次比较,如果这个数大于后面的数,就交换
第一轮 : arr[0] arr[1]--arr[4] 找到最小值
第二轮 : arr[1] arr[2]--arr[4]
第三轮 : arr[2] arr[3]--arr[4]
第四轮 : arr[3] arr[4]
function mySort( arr ){
//外层循环控制比较了几轮
for( var i = 0 ; i < arr.length - 1 ; i++ ){
//里层循环控制 每一轮 比较的次数
for( var j = i+1 ; j<=arr.length - 1 ; j++ ){
if( arr[i] > arr[j] ){
[arr[i],arr[j]]=[arr[j],arr[i]]
}
}
}
return arr;
}
4、数组新增方法
forEach(匿名函数) 遍历 没有返回值
arr.forEach(function(item,index,array){
})
item 表示数组中的数据
index 表示下标
array 表示遍历的数组
indexOf()判断一个数在数组中是否存在,如果存在 返回这个数在数组中的下标,如果不存在就返回-1
数组.indexOf(num)
filter() 过滤
根据过滤条件返回一个新数组
arr.filter(function(item,index,array){
})
map() 映射 遍历数组---修改数组---返回数组
arr.map(function(item,index,array){
})
reduce() 归并
arr.reduce(function(pre,next){
})
next 表示 数值中第一个数之后的下一个数
pre 表示初始值是第一个数,但遍历一次之后,遍历的返回结果就是pre的值
res表示最后一吃操作的返回结果
5、内置对象 之 字符串对象
字符串对象 String 构造函数
var str = new String("hh");
var str = "";
获取字符长度 : length
字符串的操作方法 :
charAt(index) 返回某个位置处的字符
charCodeAt() 返回某个位置处的字符的ASCII码值
String.fromCharCode(ascII码值) 根据字符的ascII码值 得到对应的字符
indexOf(子串) 查找某个子字符串在原字符串中首次出现的位置 如果不存在返回 -1
lastIndexOf() 最后一次出现的位置
substr(start,length) length可以省略 截取从开始位置 指定长度的字符 如果长度不指定,默认截取到最后
substring(start,end) 截取从开始位置 到结束位置处的字符,但不包括结束位置处的字符
split() 将字符串转成数组 将数组转成字符串 join
join+split 能实现全局替换
replace(原字符串,新字符串) 返回 替换后的新字符串 默认情况下 只能替换一个 如果替换多个,需要使用正则
toLowerCase() 大写转小写 toUpperCase()小写转大写
"adfDDD".toLowerCase() ---> "adfddd" 大写转小写
trim() 去掉字符串两端空白字符
字符串
原文:https://www.cnblogs.com/tis100204/p/10302033.html