** slice **
作用:在一个数组中,按照条件查找出其中的部分内容
参数:两个参数,(n/m)从索引n开始,找到索引m处,但是不包含m
返回:以一个新数组存储查找的内容
原有数组不会变
如果不写m,则查找到数组末尾
如果不填参数或填0 实现数组的克隆,克隆一个新的数组出来,和原有数组内容一养,但是不是相同的堆内存空间 ary.slice() ary.slice(0)
支持负数索引,负数运算规律:数组总长度+负数索引
** concat **
作用:实现多个数组(或者值)得拼接
参数:数组或者值
返回:拼接后的新数组
原有数组不变
var ary1 = [12,23]
var ary2 = [100,200]
var ary3 = [1000,2000]
ary1.concat(ary2,ary3)
[].concat(ary2,ary1,ary3)
可以基于空数组作为拼接的开始,在小括号中排列拼接的顺序,空数组不会占据内容的位置
** toSting **
作用:把数组转换为字符串
参数:无
返回:数组中的每一项用逗号分隔的字符串
原有数组不变
** join **
作用:和toString类似,也是把数组转换为字符串,但是我们可以设置变为字符串后,每一项之间的连接符
参数:指定的连接符
返回:字符串
原有数组不变
基于join我们可以实现数组中每一项求和的功能
- 基于join,使用+作为分隔符,先把数组变为每一项相加的字符串
- 基于eval,把字符串变为JS表达式执行,得到的结果就是数组中每一项累加的和