JS中数组和字符串方法的简单整理
一、数组:
数组的基本方法:
1、增:arr.unshift() /push() 前增/后增
2、删:arr.shift() /pop() 前删/后删
3、改:arr.splice(开始下标,删除的长度,增加的元素,增加的元素)
注:增加元素时,删除的长度为0
4、截: arr.slice(开始下标,结束下标)
5、拼:arr.concat(元素,元素,元素)
注:拼接到新数组的末尾,如果是数组就打开拼接。
6、复:forin / slice / concat / map /forEach
注: ES5新增的复制方法都没for循环效率高
for
(变量 in
对象){ 在此执行代码
}
7、排: arr.reverse() 逆序输出
arr.sort([a-b])该方法没有参数时按照字符编码的顺序进行排序 a-b<0 数字从小到大排序 a-b>0从大到小排序
8、转:arr.toString() 转为以逗号分隔的字符串 / 转换进制
arr.join('分隔符')
(截、拼、转不影响原数组)
ES5拓展数组方法
1、indexOf(查找的元素,开始查找的下标):从某个下标开始查找这个元素第一次出现的位置。 查不到返回-1。
2、 lastindexOf(查找的元素,下标): 从后往前查找
3、forEach() 遍历数组 (无返回值)
数组名.forEach(function(value,index,arr){
(数组元素,数组下标,整个数组)
语句组;
})
4、map(function(value,index,arr){return ...}) //遍历数组(有返回值)
var list = arr.map(function(value,index,arr){
return value;
})
forEach和map方法只能遍历数组,forin遍历数组和对象。
5、reduce(function(prev,next,index,array){return ...}) // 归并 (有返回值)
注:先第一个数赋值prev,再取第二个数赋值next,然后prev与next进行运算,运算后的值再赋给prev,next继承取下一数。
用于求和,阶乘
var arr = [1,2,3,4];
var list = arr.reduce(function(prev,next,index,array){
return prev * next;
})
6、filter(function(value,index,arr{return ...}) //过滤 (有返回值)
var arr = [1,6,4,4,8,9,33];
var list =arr.filter(function(value){
return value >6
})
console.log(list) // 8,9,13
(ES5的方法都不影响元素组)
二、字符串:
字符串的方法:
1、 查:
charAt(index):根据 下标查找指定的字符 下表找不到时,输出 空。
charCodeAt(index):根据下标查找指定的字符的编码值 。下标超出范围时,输出NAN
2、 替:
replace(旧串,新串)
替换成新的字符串, 一次只能替换一个
3、截:后面的end不截 substring:(start,end) 支持参数互换(3,4)(4,3)
substr:(start,length)
slice:(start,end) 支持负数(从右往左数,-1至-10等等)
4、转:
toUpperCase():小写字母转大写字母
toLowerCase():大写字母转小写字母
split(分隔符,截取的长度) : 将字符串转为数组
字符串拓展方法:
1、字符串对象.match(正则表达式) : 如果字符串中包含了正则表达式的内容,返回数组,否则,返回null,
2、字符串对象.search(正则表达式) : 类似于indexOf(),查找正则匹配的内容在字符串中第一次出现的下标位置,如果没有找到,返回-1
3、字符串对象.replace()
4、静态方法:
String.fromCharCode(编码):将编码转成字符
静态方法:格式 构造函数.方法 String.fromCharCode。
对象方法:格式 对象.方法 arr.push
在技术路上探索的菜鸟,如有不足,欢迎大佬们指正!