字符串与数组的方法总结(包含ES6)
字符串与数组的方法总结(包含ES6)
javascript
字符串
字符串的重复
includes() //是否包含此字符 返回布尔值
split() //将字符串转化为数组
substring() //截取字符串[m,n)
slice() //同上
substr() //截取字符串[m,n个)
indexOf() //从左往右数 返回索引
lastIndexOf() //从右往左数 返回索引
charAt() //返回指定位置的字符
concat() //连接,返回新的字符串
toLowerCase() //字符串首字母小写
toUpperCase() //字符串首字母大写
match() //检查一个字符串匹配一个正则表达式内容,不匹配返回Null
replace() //用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
ES6:
for of 循环
myArray=["1","2","3"];
for (var value of myArray) {
console.log(value);
}
value为数组的每一个值,array为数组本身
startsWith() //起始位置的字符 返回布尔值
endsWith() //结束位置的字符 返回布尔值
includes() //判断一个字符串或数组是否包含一个指定的值,如果是,酌情返回 true或 false。
repeat() //string.repeat(num)方法,参数num为重复字符串的次数,各种情况下的返回值见代码。
let str="wbiokr";
str.repeat(2); //wbiokrwbiokr"str被重复了2次返回,str不改变
'hi'.repeat(3); //"hihihi"
'hi'.repeat(2.6); //'hihi'浮点类型参数,会取整重复
'hi'.repeat(0); //''0的时候返回空字符串
'hi'.repeat(-3); //负数,报错
'hi'.repeat(undefined); //''undefined转化为0
'hi'.repeat(null); //''null转化为0
'hi'.repeat(NaN); //''NaN转化为0
数组
sort() //升序
reverse() //倒序
join() //将数组转为字符串
push() //添加到数组末尾
pop() //末尾移除最后一项
unshift() //添加到原数组开头
shift() //删除数组第一项
slice() //返回起始位置到结束位置之间的项[m,n) 不改变原数组
splice() //传两个参(m,n) 删除从m到n个之间的项 改变原数组; 传三个参(m,n,k)从当前m到n个前插入k
concat() //将参数添加到原数组中,不改变原数组
of() //将不是数组的转化为数组
fill() //用一个固定值填充一个数组中从起始索引到终止索引内的全部元素
ES6:
from() //用来将其他对象转换成数组,从类似数组的对象或可迭代的对象返回一个数组
find() //用来查找目标元素,找到就返回该元素,找不到返回undefined。
findIndex() //也是查找目标元素,找到就返回元素的位置,找不到就返回-1。
indexof() //类似字符串的indexOf()方法
lastIndexOf //类似indexOf()方法(顺序相反)
forEach() //循环 传3个参,分别为(值,索引,数组本身)
map() //返回每次函数调用的结果组成的数组 改变原数组
filter() //过滤满足过滤条件的项
every() //判断是否每一项都满足条件 返回布尔值
some() //判断是否有满足条件的项 返回布尔值
reduce() //对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。可传四个参数(上一次值,当前值,当前值的索引,数组)
reduceRight() //与reduce的作用完全相同,唯一的不同是,reduceRight是从右至左遍历数组的元素。
数组的扩展 ...
var arr1=[1,2,3];
var arr2=[...arr1];
解构赋值
数组的解构赋值:
解构成功:let [a,b,c] = [1,2,3];
解构失败:let[a,b,c] = [1,2];
解构不完全:let[a,b,c] = [1,2,3,4];
对象的解构赋值:let [a,b,c] = {a:1,b:2,c:3}
字符串的解构赋值:let [a,b,c] = "123"