字符串和数组方法汇总

一、字符串方法:
1、charAt:通过索引获取字符,不存在时,返回空字符串
2、subString:截取字符串(1)没有参数时,返回整个字符串(2)一个参数时,返回返回参数到末尾的字符串(3)两个参数时(m,n),返回索引m到索引n,不包括n;原字符串不变
3、subStr:截取字符串(1)没有参数时,返回整个字符串(2)一个参数时,返回返回参数到末尾的字符串(3)两个参数时(m,n),返回从索引m开始的n个字符;原字符串不变
4、slice:复制字符串(1)没有参数时或参数是0时,返回整个字符串(2)一个参数时,返回返回参数到末尾的字符串(3)两个参数时(m,n),返回从索引m到索引n,不包括n
5、indexof:返回字符在字符串中首次出现的位置索引,没出现返回-1
6、split:把字符串按照指定的分隔符拆分成数组
7、match:参数为正则(1)不加g,返回值:大正则、小分组、index、input;第二次执行和第一次执行结果一样(2)加g,返回值:大正则第一次匹配的内容、大正则第二次匹配的内容...
8、replace:两个字符串参数时,旧字符被新字符取代;正则和回调函数作参数时,回调函数的参数的参数分别是大正则、小分组、index、input,返回值:被正则匹配上的字符串将被返回值替换掉,其他字符原封不动地返回。
二、数组的方法:
1、push
(1)作用:向数组末尾追加一项
(2)参数:要添加的数组项(多项用逗号隔开)
(3)返回值:新数组的长度
(4)是否改变原数组:改变
2、pop
(1)作用:删除项数组末尾项
(2)参数:没有参数
(3)返回值:被删除的项
(4)是否改变原数组:改变
3、unshift
(1)作用:向数组开头添加一项
(2)参数:要添加的数组项(多项用逗号隔开)
(3)返回值:新数组的长度
(4)是否改变原数组:改变
4、shift
(1)作用:删除数组开头项
(2)参数:没有参数
(3)返回值:被删除的项
(4)是否改变原数组:改变
5、splice
(1)作用:参数不同,作用不同,主要用来删除数组项
(2)(3)参数与返回值:
A、没有参数:原数组不变,返回空数组
B、一个参数:从索引位置删除到末尾,返回被删除项构成的数组
C、两个参数(n,m):从索引n删除m个,返回被删除项构成的数组
D、三个参数(n,m,X): 从索引n删除m个,被删除项用X填补,返回被删除项构成的数组,
(4) 是否改变原数组:改变
6、slice
(1)作用:复制数组项
(2)(3)参数与返回值:
A、没有参数:原数组不变,返回整个数组
B、一个参数:返回从索引位置到末尾,
C、两个参数(n,m):返回索引n到m,不包含m
(4)是否改变原数组:没有改变
7、concat
(1)作用:把多个数组拼接在一起
(2)参数:要拼接的数组或字符串。如果是数组,就把数组里的每一项放到原数组的后面;如果是字符串,把字符串作为一项,放在原数组后面;克隆数组:ary.concat();ary.concat([]);
(3)返回值:拼接好的数组
(4)是否改变原数组:没有改变
8、join
(1)作用:把数组的每一项按照指定的分隔符拼接成字符串
(2)参数:指定的分隔符,如果是空引号“”,就把每一项不加分割地放在一起
(3)返回值:拼接好的字符串
(4)是否改变原数组:没有改变
另外:eval(),把字符串的引号去掉,并当作js代码运行,比如eval(“alert(1)”)
9、reverse
(1)作用:倒序数组
(2)参数:不需要参数
(3)返回值:倒序后的数组
(4)是否改变原数组:改变
10、sort
(1)作用:按照指定规则排序
(2)参数:A、一个参数,只能给一位数排序;B、回调函数为参数,如ary.sort(function(a,b){return a-b})为升序
(3)返回值:排好序的数组
(4)是否改变原数组:改变
11、indexOf
(1)作用:获取数组项第一次在数组中出现的位置索引
(2)参数:要判断的数组项
(3)返回值:数组项的索引,没有该项返回-1
(4)是否改变原数组:不变
12、forEach
(1)作用:循环遍历每一项,循环次数为数组相数
(2)参数:匿名函数,匿名函数可以有三个参数
(3)返回值:undefined
(4)是否改变原数组:不变
13、map
(1)作用:循环遍历每一项,循环次数为数组相数
(2)参数:匿名函数,匿名函数可以有三个参数
(3)返回值:返回一个新数组,新数组的每一项是匿名函数每次执行后的返回值
(4)是否改变原数组:不变
14、find
(1)作用:找出最先满足条件的那一项
(2)参数:匿名函数,匿名函数可以有三个参数
(3)返回值:最先满足条件的那一项
(4)是否改变原数组:不变
15、filter
(1)作用:找出所有满足条件的项
(2)参数:匿名函数,匿名函数可以有三个参数
(3)返回值:所有满足条件的项组成的数组
(4)是否改变原数组:不变
附:ES6数组方法实例
1、reduce:累加
(1)

(2)

2、filter:过滤
(1)

(2)

3、find:查找
(1)

(2)

附一、var与let的区别

附二:箭头函数的this。箭头函数不会自动绑定局部变量,所以箭头函数没有它自己的this值,箭头函数内的this值继承自外围作用域。在箭头函数中调用 this 时,仅仅是简单的沿着作用域链向上寻找,找到最近的一个 this 拿来使用。

附三:箭头函数和普通函数的区别
1、箭头函数作为匿名函数,是不能作为构造函数的,不能使用new
2、箭头函数不绑定arguments,取而代之用rest参数…解决
3、箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值
4、使用call()和apply()调用只是传入了参数而已,对 this并没有什么影响
5、箭头函数没有原型属性
6、箭头函数不能当做Generator函数,不能使用yield关键字
7、箭头函数不能换行
来源:https://www.jianshu.com/p/73cbeb6782a0

附四:person1.proto===person.prototype
1、proto:对象所在类的原型
2、prototype:类的原型

附五:封装深度克隆方法

附六:深克隆方法封装
来源:http://www.jb51.net/article/79707.htm

附七:高阶函数,把函数作为参数或者返回值的函数。
附八:ES6的功能
1、let和const
2、模板字面量
3、解构
4、展开操作符
5、箭头函数
6、类
附九:ES6继承(下面两种写法等效)
class ColorPoint extends Point {
}
class ColorPoint extends Point {
constructor(...args) {
super(...args);
}
}
附十、ES6类和实例的属性和方法
1、类相当于实例的原型,所有在类中定义的方法,都会被实例继承。
2、加上static关键字的方法(静态方法)不会被实例继承,而是直接通过类来调用。
3、如果静态方法包含this关键字,这个this指的是类,而不是实例。
4、父类的静态方法,可以被子类继承。
5、静态属性指的是 Class 本身的属性,不是定义在实例对象(this)上的属性。
6、类的实例属性可以用等式,写入类的定义之中。
7、以前,定义实例属性,只能写在类的constructor方法里面
8、为了可读性的目的,对于那些在constructor里面已经定义的实例属性,新写法允许直接列出。
9、类的静态属性只要在上面的实例属性写法前面,加上static关键字就可以了。
10、老写法类的静态属性定义在类的外部。整个类生成以后,再生成静态属性。

附十一、ES6类和实例的属性和方法
1、类相当于实例的原型,所有在类中定义的方法,都会被实例继承。
2、加上static关键字的方法(静态方法)不会被实例继承,而是直接通过类来调用;如果静态方法包含this关键字,这个this指的是类,而不是实例;父类的静态方法,可以被子类继承。
3、类的实例属性可以用等式,写入类的定义之中,以前只能写在类的constructor方法里面。
4、类的静态属性指的是类本身的属性,在实例属性写法前面,加上static关键字就可以了。老写法在类的外部,整个类生成以后,再生成静态属性。

附十二、ES6类和实例的属性和方法
1、在类中定义的方法,是实例的方法,都会被实例继承。
2、在类中定义的方法前,加上static,那么该方法就是静态方法,不会被实例继承;静态方法是类本身的方法,通过类来调用,里面的this指的是类而不是实例;静态方法可以被子类继承。
3、在类中定义的属性,不需要声明和this.,可以用等式,是实例的属性,以前只能用this.写在类的constructor方法里面。
4、在类中定义的属性前,加上static,那么该属性就是静态属性,通过实例属性如this.props.aaa来获取,老写法在类的外部。
来源:http://es6.ruanyifeng.com/#docs/class
来源:https://blog.csdn.net/haoshidai/article/details/52244620

ES6常用新特性总结
1、变量申明方式:let && const
2、数据类型:symbol
2、数据操作:解构赋值、拆包赋值、展开操作符
3、函数:箭头函数、默认参数、类、模块化
4、字符串:模板字符串、多行字符串
5、异步处理:Promise(在Promise实例参数内部自定义并执行一个异步,在Promise实例外部通过then注入一个成功的回调和一个失败的回调)
6、数组方法:累加reduce、过滤filter、查找find、遍历map、遍历forEach、
7、对象方法:深拷贝Object.assign()

ES7常用新特性总结
1、数组方法:include
2、求幂运算:Math.pow(2,7)<=====>let b = 2 ** 7

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复