前面两篇把js数组的几组基本操作方法过了一遍,本节来盘一盘js的数组操作的几个高级操作,据说这是小白和高手的分水岭。
前面两篇介绍的方法,不管是splice、push、unshift、pop、shift,reverse、sort方法,都是直接改变原数组,接下来的几个方法,是利用原数组进行“加工”,然后产生新的数组,原数组用完之后完璧归赵,保持不变。
1concat方法:合并数组
这是两个数组的操作,那两个数组拼接一个新的数组,当然也可以拼接自己。
数组的拼接,插入元素,删除元素在实际项目中,数据整合过程中用到较多。
2slice方法:截取数组
slice的使用方式是arr.slice(arg1,arg2)
参数1:arg1,开始截取的元素的下标;
参数2:arg2,结束位置,不包含参数2为下标的元素。
slice函数截取数组的方向是从左往右,可以称之为正方向,如果从参数1到参数2的方向与正方向相同,则是有意义的,如果相反,则无意义,返回空值。以下按照参数的几种情况加以介绍:
1参数为空,直接返回原数组,也就是整个截取。
2当只有一个参数的时候,表示从这个参数作为下标的元素开始(包括),直到最后一个元素。
3当参数1大于参数2的时候,截取的顺序反了,没有意义,返回的就是空(undefined)。而且参数1,参数2都可以为负数,负数代表的意义和之前splice讲的一样,-1表示倒数第1个元素。
3toString方法
toString方法直接将数组和逗号变成字符串。很多人奇怪为啥数组会有toString方法呢。其实一点也不奇怪,还记得那句话吗?JS中一切都是对象。
4join和split方法
join用来将数组的所有元素用参数连接起来形成一个字符串。
特别:
参数为空:join()
当参数为空的时候,直接把数组元素变成字符串,相当于把数组执行toString函数:
参数为空字符串:join();
直接把数组的所有元素无缝连起来组成字符串
直接把数组的所有元素无缝连起来组成字符串
如果参数是空格,那么空格字符和其他符号一样,将数组的所有元素用这个符号连起来。
split则刚好相反,将字符串按照参数(分隔符)把字符串分割成数组。
特别,split两个参数的时候,第一个参数仍然是用来分割的分隔符,第二个参数是数值型(正整数),表示从分割后的的数组截取相应个数的数组元素组成新的数组。
上图的例子split(*,2)表示按照“*”号将字符串arrJres4(注意,这个是字符串,而不是数组,变量名有误导)分割后,组成数组,并且只截取前面两个元素组成新数组arrSpl3。
好了,截止到本篇,关于数组的定义、本质(原型),以及实际操作方法,从基础到进阶都挨个过了一遍,中间的例子都可以在控制台验证,希望我的理解是正确的,也希望对大家有所帮助。最后一句,要真正掌握,还得不停操练——坚持就是胜利。