Concat:——连接连个数组
var arr = [1,2,3,4,5,6];
var arr1 = [7,8,9];
Concat在把连个数组连接起来之后,会形成一个新的数组,原来的数组是不会变的,这和前面的集中方法都是不一样的。所以你要是记忆的时候要单独拿出来记,改变数组的方法就七个,push,pop,shift,unshift,sort,resverse,splice;
这个concat有点特殊,他是咱么计算机人士给造出来的一个单词,你要是百度一下,他也会显示是计算机用语,就连音标都没有。
toString:
数组的tostring就是把数组转换成字符串给你展示出来。
Slice:——截取
和splice有点相像,但是又有点不一样。
Slice可以填0个参数,1个,2个参数,
如果你添加2个参数:slice(从该为开始截,截取到该位)
不改变原数组!!既然他不改变原数组,咱们关注的就是他的返回值了吧,
所以你slice完之后一定要那个东西来接收他,否则没意义吧!
var arr = [1,2,3,4,5,6];
var newArr = arr.slice(1,3);
如果是一个参数的情况:从第几位开始截取一直截取到最后。
var arr = [1,2,3,4,5,6];
var newArr = arr.slice(1);
从第一位开始截取,截取到最后一位。
当然你也可以加负数,就是从倒数第几位开始截取呗,而且是负数,你直接倒着往前数就行,也不用从0开始,如果你不懂负数,你就直接加length,-4+6=2,也就是从第二位开始截取。
var arr = [1,2,3,4,5,6];
var newArr = arr.slice(-4);
如果你不写,就是整个都截取呗。
var arr = [1,2,3,4,5,6];
var newArr = arr.slice();
真个截取什么用呢?以后咱们要是把一个类数组转换成数组,就用slice,空截。
Join:
join里面可以传参数,但是参数必须是字符串,你传空串也得是字符串。
如果我传一个“-”的话,他就会把数组里面的每一位都连接起来,并且给你返回一个字符串。
var arr = [1,2,3,4,5,6];
和join可逆的东西是:
Split:
Split是字符串的方法,他不是数组的方法,但是他却是和数组的方法可逆的,
var arr = [1,2,3,4,5,6];
var str = arr.join("-");
练习26:
我现在想把下面的一系列的字符串连起来,中间什么都没有。
var str = "1";
var str1 = "2";
var str2 = "3";
var str3 = "4";
var str4 = "5";
解:
var str = "1";
var str1 = "2";
var str2 = "3";
var str3 = "4";
var str4 = "5";
var strFinal = "";
// 散列
var arr = [str,str1,str2,str3,str4];
arr.join("");
字符串放在哪里存储?是栈还是堆?原始值是放在栈内存中输出的,有个规则是先进后出,所以你想拿出来第一个进去的东西得先把上面的拿出来放进一个新地方,再拿出来,你来回折腾这个站,效率肯定低,尽量别用栈内存;数组是一种散列存储结构,如果你你把字符串放进数组里,用join进行连接,因为数组是散列结构,所以他的效率肯定高。
你传个空串就行,如果你什么都不写,他默认的是用逗号连接的 。