Array、String、Mah常用方法

目录


数组中的常用方法

1.push/pop/shift/unshift

2.splice/slice/concat

3.toString/join;reverse/sort;indexof/lastIndexof

字符串中常用的方法

1.charAt/charCodeAt;indexOf/lastIndexOf;toUpperCase/toLowerCase

2.slice/substring/substr

3.split/replace

数学函数Math

1.abs/ceil/floor/round

2.PI

3.max/min/random

4.sqrt/pow


数组中的常用方法

按照四个维度记忆:

  • 方法的作用

  • 方法的参数

  • 方法的返回值

  • 原有数组是否改变

1.push/pop/shift/unshift

push 作用:向数组“末尾”追加新的内容 参数:追加的内容(可以是一个,也可是多个) 返回值:新增后数组的长度 原有数组改变

var ary = [12,23,34];
ary.push(100); //=>4  ary:[12,23,34,100]
ary.push(100,{name:'xxx'}); //=>6  ary:[12,23,34,100,100,{...}]

pop 作用:删除数组最后一项 参数:无 返回:被删除的那一项内容 原有数组改变

shift 作用:删除数组中的第一项 参数:无 返回:被删除的那一项内容 原有数组改变

unshift 作用:向数组开始位置追加新内容 参数:要新增的内容 返回:新增后数组的长度 原有数组改变

2.splice/slice/concat

splice 基于 SPLICE可以对数组进行很多的操作:删除指定位置的内容、向数组指定位置增加内容、还可以修改指定位置的信息

删除:ary.splice(n,m)   从索引n开始,删除m个内容,把删除的部分以一个新数组返回,原有数组改变

                                       (m不传或大于length,会删除到数组末尾)

新增:ary.splice(n,0,x,...) 从索引n开始删除零项(没删除),把插入的内容从索引N开始存放。

修改:ary.splice(n,m,x,...) 修改的原理就是把原有内容删除掉,然后用新的内容替换这部分信息即可

需求扩展:

  1. 删除数组最后一项,你有几种办法?

  2. 向数组末尾追加新内容,你有几种办法?

//=>删除最后一项
ary.pop()
ary.splice(ary.length-1)
ary.length--

//=>向数组末尾追加新内容
ary.push(100)
ary.splice(ary.length,0,100)
ary[ary.length]=100

slice 作用:在一个数组中,按照条件查找出其中的部分内容 参数:两个参数(n/m),从索引n开始,找到索引m处,但是不包含m 返回:以一个新数组存储查找的内容 原有数组不会变

实现数组的克隆

ary.slice(0)//ary.slice()

  返回的是一个新数组,与原有的数组内容一样,但是不是一样的堆内存空间

concat 作用:实现多个数组(或者值)的拼接 参数:数组或者值 返回:拼接后的新数组 原有数组不变

3.toString/join;reverse/sort;indexof/lastIndexof

toString 作用:把数组转换为字符串 参数:无 返回:数组中的每一项用逗号分隔的字符串 原有数组不变

join 作用:和toString类似,也是把数组转换为字符串,但是我们可以设置每一项之间的连接符 参数:指定的链接符 返回:字符串 原有数组不变

reverse 作用:把数组倒过来排列 参数:无 返回:排列后的新数组 原有数组改变

sort 作用:给数组排序 参数:无/函数 返回:排序后的新数组 原有数组改变

indexOf / lastIndexOf 这两个方法不兼容IE低版本浏览器(IE6~8) 作用:检测当前值在数组中第一次或者最后一次出现位置的索引 参数:要检测的值 返回:索引    原有数组不变

如果有这一项,返回>=0的索引,没有返回-1

//=>验证数组中是否包含某一项
if(ary.indexOf(100)>-1){
   //=>ARY中包含100这一项
}

除了以上方法,数组中还包含很多常用的方法(Array.prototype)

  • every

  • filter

  • find

  • forEach

  • includes

  • keys

  • map

  • reduce / reduceRight

  • some

  • ...

字符串中常用的方法

 

字符串是基本数据类型,字符串的每一次操作都是值直接的进行操作,不像数组一样是基于空间地址来操作的,所以不存在原有字符串是否改变这一说,肯定都是不变的

1.charAt/charCodeAt;indexOf/lastIndexOf;toUpperCase/toLowerCase

charAt/charCodeAt 作用:charAt根据索引获取指定位置的字符,charCodeAt不仅仅获取字符,它获取的是字符对应的Unicode编码值(ASC II码值) 参数:索引 返回:字符或者对应的编码

indexOf/lastIndexOf 基于这两个方法,可以获取字符在字符串中第一次或者最后一次出现位置的索引,有这个字符,返回大于等于零的索引,不包含这个字符,返回的结果是-1,所以可以基于这两个方法,验证当前字符串中是否包含某个字符

toUpperCase/toLowerCase 实现字母的大小写转换,toUpperCase小写转大写,toLowerCase大写转小写

2.slice/substring/substr

slice 作用:str.slice(n,m) 从索引n开始找到索引为m处(不包含m),把找到的字符当做新字符串返回

substring 和slice语法一模一样,唯一的区别在于:slice支持负数索引,而substring不支持负数索引

substr 也是字符串截取的方法,用法是:str.substr(n,m),从索引n开始截取m个字符

3.split/replace

split 和数组中的join相对应,数组中的join是把数组们一项按照指定的连接符变为字符串,而split是把字符串按照指定的分隔符,拆分成数组中每一项

replace 作用:替换字符串中的原有字符 参数:原有字符,要替换的新字符 返回:替换后的字符串

  字符串中还有很多常用方法,回去后大家可以自己扩展一下:(String.prototype)

  • includes

  • search

  • trim

  • ...

数学函数Math

1.abs/ceil/floor/round

abs:取绝对值

ceil/floor:向上或者向下取整

round:四舍五入

2.PI

PI:获取圆周率

3.max/min/random

max/min:获取最大值和最小值

 

 

 

random:获取0~1之间的随机小数

4.sqrt/pow

sqrt:开平方

pow:取幂(N的M次方)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值